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.
- Vim Documented
| Action | Keys | Row actions |
|---|---|---|
| Change the whole line Normal mode | Linux CC 1 more variant | Source |
| Change to the end of the line Normal mode | Linux ShiftC 1 more variant | Source |
| Enter replace mode Normal mode | Linux ShiftR 1 more variant | Source |
| Yank the current line Normal mode | Linux YY 1 more variant | Source |
| Put text after the cursor Normal mode | Linux P 1 more variant | Source |
| Put text before the cursor Normal mode | Linux ShiftP 1 more variant | Source |
| Undo the last change Normal mode | Linux U 1 more variant | Source |
| Redo an undone change Normal mode | Linux CtrlR 1 more variant | Source |
| Undo every change on the line Normal mode | Linux ShiftU 1 more variant | Source |
| Repeat the last change Normal mode | Linux . 1 more variant | Source |
| Join the line with the next one Normal mode | Linux ShiftJ 1 more variant | Source |
| Indent the line Normal mode | Linux >> 1 more variant | Source |
| Unindent the line Normal mode | Linux << 1 more variant | Source |
| Reindent the line Normal mode | Linux == 1 more variant | Source |
| Switch the case of the character Normal mode | Linux ~ 1 more variant | Source |
| Start character visual mode Normal mode | Linux V 1 more variant | Source |
| Start line visual mode Normal mode | Linux ShiftV 1 more variant | Source |
| Start block visual mode Normal mode | Linux CtrlV 1 more variant | Source |
| Reselect the last visual area Normal mode | Linux GV 1 more variant | Source |
| Search forward Normal mode | Linux / 1 more variant | Source |
| Search backward Normal mode | Linux ? 1 more variant | Source |
| Repeat the search in the same direction Normal mode | Linux N 1 more variant | Source |
| Repeat the search in the other direction Normal mode | Linux ShiftN 1 more variant | Source |
| Search forward for the word under the cursor Normal mode | Linux * 1 more variant | Source |
| Search backward for the word under the cursor Normal mode | Linux # 1 more variant | Source |
| Start typing an Ex command Normal mode | Linux : 1 more variant | Source |
| Write changes and close the window Normal mode | Linux ShiftZShiftZ 1 more variant | Source |
| Close the window without writing Normal mode | Linux ShiftZShiftQ 1 more variant | Source |
| Go to an older jump position Normal mode | Linux CtrlO 1 more variant | Source |
| Go to a newer jump position Normal mode | Linux CtrlI 1 more variant | 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