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.
25 actions and 25 key variants match.
- Vim Documented
| Action | Keys | Row actions |
|---|---|---|
| Move the cursor left Normal mode | Linux H | Source |
| Move the cursor down Normal mode | Linux J | Source |
| Move the cursor up Normal mode | Linux K | Source |
| Move the cursor right Normal mode | Linux L | Source |
| Show the file name and position Normal mode | Linux CtrlG | Source |
| Insert text before the cursor Normal mode | Linux I | Source |
| Leave insert mode Insert mode | Linux Esc | Source |
| Delete the character under the cursor Normal mode | Linux X | Source |
| Delete the whole line Normal mode | Linux DD | Source |
| Change the whole line Normal mode | Linux CC | 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 |
| Switch the case of the character Normal mode | Linux ~ | Source |
| Add to the number under the cursor Normal mode | Linux CtrlA | Source |
| Subtract from the number under the cursor Normal mode | Linux CtrlX | Source |
| Redraw the screen Normal mode | Linux CtrlL | Source |
| Edit the file named under the cursor Normal mode | Linux GF | Source |
| Delete the word before the cursor Insert mode | Linux CtrlW | Source |
| Delete what you typed on the line Insert mode | Linux CtrlU | Source |
| Run one normal command, then keep typing Insert mode | Linux CtrlO | 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