Vimdows-ng allows you to use Vim (or vim-like) normal mode anywhere in Windows.
Use the provided executable or the .ahk script with Autohotkey. It does not require any special permissions and will run in your system notification area until activated, when it'll show an icon on your taskbar and a small tooltip overlay in the top-left corner of the screen.
This is based on previous work of achalddave who himself modified the original script by Rich Alesi, and most of the credit for this script goes to him.
- with Shift-Esc
- with Esc for selected programs:
- Matlab
- Thunderbird Text Composition
If you are not familiar with VIM yet, you might want to try a vim tutorial. Or you might want to try Vim Adventures :)
A good in-depth book is Practical VIM.
Keys Function
==== ========
h, j, k, l, w, b, $, ^ navigation
dd, d<w, b, $, ^> deletion
o, O insert lines and exit normal mode
p, P paste lines
v yank mode; not perfect
hit y after you're done selecting to copy
<#[cmd]> Run 'cmd' # times. E.g. 3dd, 4w, 10l, etc
u, <Shift> r Undo, redo
/, n Find, next found result (Uses Ctrl + F and F3)
Keys Function
==== ========
a, A append at cursor / end of line
0 go to first character in line
C, D change / delete rest of line
J move next line to end of this line
gg, G go to beginning/end of document
5G go to a specific line
gt, gT go to next/previous tab
y2w, yb, yy, y$, ... yank 2 words, yank back, yank line, yank rest of line
yi(w) yank inner word
d2w, c5w, cb, ... change and delete mode
di(w) delete inner word
x, X delete single characters
Y yank rest of line
I go to beginning of line and enter insertion mode
e go to end of word
<Ctrl> u, <Ctrl> d go page up/down
<Ctrl> b, <Ctrl> f go page up/down
~, 3~,v3w~,... Toggle case of next char(s) or visual selection.
- Change-mode, change-inner, delete-inner, yank-inner modes.
- show tooltip "Vimdows" when active (useful when hiding task bar)
- correction of indent and undo
- provide another script to remap caps to esc.
- limit of 50 to not blindly execute a repeated command too often (e.g. 500w -> 50w)
- Proper indent using editor indenting.
- f char should move to next occurence of char
- jump between block beginning/end (in vim, % jumps between { and }, for instance)?
- vim.ahk (better code structure, but very slow)
- Firefox: Vimperator and Pentadactyl
- Chrome: Vimium
- LibreOffice: VibreOffice
- Thunderbird: Muttator
- JetBrains IDEs: IdeaVim
- for most IDEs, it's better to find a specific plugin if available.
- Atom: Vim-mode plus