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