Vim keyboard shortcuts
Moving, editing, searching, and window commands in the Vim text editor.
81 shortcuts Linux and Mac checked September 14, 2026
Print all 81 shortcuts One sheet with every shortcut in this app, ready for the printer or a PDF.
81 actions and 81 key variants match.
- Vim Documented
| Action | Keys | Row actions |
|---|---|---|
| Change the whole line Normal mode | Linux CC | Source |
| Change to the end of the line Normal mode | Linux ShiftC | Source |
| Enter replace mode Normal mode | Linux ShiftR | Source |
| Yank the current line Normal mode | Linux YY | Source |
| Put text after the cursor Normal mode | Linux P | Source |
| Put text before the cursor Normal mode | Linux ShiftP | Source |
| Undo the last change Normal mode | Linux U | Source |
| Redo an undone change Normal mode | Linux CtrlR | Source |
| Undo every change on the line Normal mode | Linux ShiftU | Source |
| Repeat the last change Normal mode | Linux . | Source |
| Join the line with the next one Normal mode | Linux ShiftJ | Source |
| Indent the line Normal mode | Linux >> | Source |
| Unindent the line Normal mode | Linux << | Source |
| Reindent the line Normal mode | Linux == | Source |
| Switch the case of the character Normal mode | Linux ~ | Source |
| Start character visual mode Normal mode | Linux V | Source |
| Start line visual mode Normal mode | Linux ShiftV | Source |
| Start block visual mode Normal mode | Linux CtrlV | Source |
| Reselect the last visual area Normal mode | Linux GV | Source |
| Search forward Normal mode | Linux / | Source |
| Search backward Normal mode | Linux ? | Source |
| Repeat the search in the same direction Normal mode | Linux N | Source |
| Repeat the search in the other direction Normal mode | Linux ShiftN | Source |
| Search forward for the word under the cursor Normal mode | Linux * | Source |
| Search backward for the word under the cursor Normal mode | Linux # | Source |
| Start typing an Ex command Normal mode | Linux : | Source |
| Write changes and close the window Normal mode | Linux ShiftZShiftZ | Source |
| Close the window without writing Normal mode | Linux ShiftZShiftQ | Source |
| Go to an older jump position Normal mode | Linux CtrlO | Source |
| Go to a newer jump position Normal mode | Linux CtrlI | Source |
About Vim and its shortcuts
Vim is the odd one out on this site, and deliberately so. It is modal: most of what other editors do with held combinations, Vim does with single letters typed in normal mode, which is why its commands are case sensitive and why a stray keypress can change what the next one means. Learning the modes matters more than learning any individual key.
Vim is endlessly configurable, so a configured installation may share little with the defaults published here. Commands also differ between terminal Vim, graphical versions and the Vim emulation built into other editors.
Where the Vim keys came from
Read from 1 documentation page published by the makers of Vim. Report a key that is wrong
To see how one action is done in other apps as well as Vim, browse the shortcuts by task. Shortcuts by task