win-vind
Vim Key Binder for Windows
Description
win-vind provides a lightweight hybrid UI system of CUI and GUI for Windows. And everything is inspired by Vim and its plugins. Simply put, it is a Vim-oriented toy box consisting of various useful features.
Features
System Design
- Fast binding system
- Vim-like mode management
- .vimrc style configuration
- Running in user permission
- Oneshot use for Vim or AHK (e.g.
$ win-vind -f easy_click_left
)
Top Features
- GUI operation without mouse
- Vim emulation everywhere
- Process launcher like
:!vim ~/.vimrc
on resident command line - Low-level key mapping (e.g. Capslock -> Ctrl)
- Keystroke macros
- Tiling window manager
- Hinting feature like Vimium or EasyMotion for GUI.
Demo
Download
Chocolatey Version
win-vind supports installation using Chocolatey. To install win-vind with Chocolatey, run the following command from the command line or from PowerShell.
$ choco install win-vind
winget Version
winget is also supported. To install the package, run the following command from your command line.
$ winget install win-vind
Installer Version
Portable Version
Usage
You can refer to the installation and quick tutorial in Usage - win-vind.
.vindrc samples
You can configure it in .vimrc style. What you can do in .vindrc is switch options, set parameters, remap low-level keys, and define function bindings.
" ------------ Example ------------
" Virtual command line options
set shell = cmd
set cmd_fontsize = 14
set cmd_roughpos = LowerLeft
set cmd_maxchar = 100
" Enable block style caret
set blockstylecaret
set blockstylecaret_mode = solid
" Low-level key mapping in resident mode
rmap <capslock> <ctrl>
" Define bindings in GUI Normal mode
gnnoremap <c-h> select_left_window
gnnoremap <c-l> select_right_window
gnnoremap <c-k> select_upper_window
gnnoremap <c-j> select_lower_window
" Define bindings in insert mode
imap <capslock> <f16>
inoremap <f16> to_edi_normal
imap <ralt> <f17>
inoremap <f17> easy_click_left
imap <app> <f18>
inoremap <f18> window_resizer
The Functions page lists all supported functions, the Options document lists parameters and useful extensions, and the Keyword List contains keyword notations for writing .vindrc. If you want to know the default bindings, refer to Default Mappings.
Known Issues
- EasyClick does not seem to work properly for some applications on older Windows 10 before 1803. The cause is not known, but we have confirmed that it works after 1909. (#11)
- Windows 10/11 Single Language does not seem to be able to map toggle keys such as
<Capslock>
. (#40)
Contribute
If you would like to contribute to win-vind, see CONTRIBUTING.md.
Related Pages
Similar Projects
License
This software is provided by MIT License.
Author
- pit-ray