Keyboard Walk

Every Normal-mode key, organized by physical key location.

A row-by-row tour of the QWERTY keyboard mapping each key to its primary Normal-mode function. Useful as a wall poster.

Vim's bindings cover the entire keyboard. This appendix walks the QWERTY layout row-by-row, showing the primary Normal-mode function of each key. (Many keys also serve as second halves of operator-motion sequences โ€” see `appendix.complete-key-reference`.)

Number row

Key Function
1-9 Count prefixes
0 Start of line
- _ Up/down to first non-blank
= + Re-indent operator (== / =motion) / next line's first non-blank

Top letter row

Key Function
q Record macro
w Word forward
e End of word
r Replace one char
t Till char (motion)
y Yank operator
u Undo
i Insert
o Open line below
p Paste after
[ ] Backward / forward bracket prefixes

Home row

Key Function
a Append
s Substitute char
d Delete operator
f Find char (forward)
g Prefix family (gd, gf, gv, gUโ€ฆ)
h Left
j Down
k Up
l Right
; , Repeat / reverse-repeat last f/F/t/T

Bottom row

Key Function
z Prefix family (zz, zf, zoโ€ฆ)
x Delete char under cursor
c Change operator
v Visual mode
b Word backward
n Next search match
m Set mark
, . / , reverse f/t โ€” . repeat โ€” / search

Capital letters (the un-shifted's siblings)

Most uppercase keys are bigger or opposite versions of their lowercase counterparts: โ€ข I / A โ€” Insert at line start / Append at line end (vs. cursor position). โ€ข O โ€” Open line above (vs. below). โ€ข E/W/B โ€” WORD-flavored versions of e/w/b. โ€ข F/T โ€” backward versions of f/t. โ€ข N โ€” previous search match. โ€ข G โ€” go to last line (vs. gg go to first).

See also: Complete Key Reference