TOOL » VIM

Movement

Cursor movement

ShortcutDescription
hMove one character left
jMove one row down
kMove one row up
lMove one character right
wMove to beginning of next word
bMove to previous beginning of word
eMove to end of word
WMove to beginning of next WORD
BMove to beginning of previous WORD
EMove to end of next WORD

Inline movements

ShortcutDescription
fXTo next 'X' after cursor, in the same line (X is any character)
FXTo previous 'X' before cursor (f and F put the cursor on X)
tXTil next 'X' (similar to above, but cursor is before X)
TXTil previous 'X'
;Repeat above, in same direction
,Repeat above, in reverse direction
0Move to beginning of line
$Move to end of line
_Move to first non-blank character of the line
^Move to first non-blank character of the line
g_Move to last non-blank character of the line

File movements

ShortcutDescription
HMove to top of screen
MMove to middle of screen
LMove to bottom of screen
%Jump to matching bracket { } [ ] ( )
ggMove to first line
GMove to last line
nggMove to n'th line of file (n is a number; 12gg moves to line 12)
nGMove to n'th line of file (n is a number; 12G moves to line 12)
*Next whole word under cursor
#Previous whole word under cursor
gdGo to definition/first occurrence of the word under cursor
gfGo to file under cursor

Screen scroll

ShortcutDescription
zzMove cursor to center of screen
ztMove cursor to top of screen
zbMove cursor to bottom of screen
Ctrl-BScroll backward (up)
Ctrl-FScroll forward (down)
Ctrl-UScroll half up
Ctrl-DScroll half down
Ctrl-YScroll up (one line)
Ctrl-EScroll down (one line)
Ctrl-IRedo cursor movement
Ctrl-OUndo cursor movement