Skip to main content

Motions Cheatsheet

Character Motions

h         ← left
l → right
j ↓ down
k ↑ up

Word Motions

w         next word start (punctuation-aware)
W next WORD start (space-delimited)
b previous word start
B previous WORD start
e end of word
E end of WORD
ge end of previous word

Line Motions

0         start of line (column 0)
^ first non-blank character
$ end of line
g_ last non-blank character
_ first non-blank character (works with operators)

Find on Line

f{char}   find next char on line
F{char} find prev char on line
t{char} to (just before) next char
T{char} to (just after) prev char
; repeat f/F/t/T forward
, repeat f/F/t/T backward

Screen Navigation

H         high (top of screen)
M middle of screen
L low (bottom of screen)
Ctrl+d scroll half page down
Ctrl+u scroll half page up
Ctrl+f scroll full page down (forward)
Ctrl+b scroll full page up (back)
Ctrl+e scroll line down (cursor fixed)
Ctrl+y scroll line up (cursor fixed)
zz center cursor line
zt put cursor line at top
zb put cursor line at bottom

File Navigation

gg        go to file start
G go to file end
{N}G go to line N (e.g., 42G)
{N}gg go to line N (e.g., 42gg)
:42 go to line 42
% jump to matching bracket/delimiter
{ } previous/next paragraph (empty line)
( ) previous/next sentence
[[ ]] previous/next section/function

Search Navigation

/pattern  search forward
?pattern search backward
n next match
N previous match
* search word under cursor forward
# search word under cursor backward
gd go to local definition
gD go to global definition

Marks

ma        set mark 'a' (file-local)
mA set mark 'A' (global)
`a jump to position of mark 'a'
'a jump to line of mark 'a'
`` jump back to before last jump
`. jump to last change
`^ jump to last insert-exit
`[ start of last yank/change
`> end of last visual selection

Jump List

Ctrl+o    go back in jump list
Ctrl+i go forward in jump list
:jumps show jump list
g; previous change position
g, next change position

Count Multiplier

{N}{key}  repeat key N times
3w → move 3 words forward
5j → move 5 lines down
10l → move 10 chars right

What's Next