Vim Cheatsheet
190+ Vim commands and keybindings. Click a mode to explore its commands. Search by key sequence or description.
Showing 107 of 107 Normal mode commands
Move cursor left
Move cursor down
Move cursor up
Move cursor right
Jump to start of next word
Jump to start of previous word
Jump to end of current/next word
Jump to start of next WORD (whitespace-delimited)
Jump to start of previous WORD
Jump to end of current/next WORD
Jump to start of line
Jump to first non-blank character of line
Jump to end of line
Go to first line of file
Go to last line of file
Jump to previous empty line (paragraph back)
Jump to next empty line (paragraph forward)
Jump to start of previous sentence
Jump to start of next sentence
Jump to matching bracket/parenthesis
Jump to next occurrence of {char} on line
Jump to previous occurrence of {char} on line
Jump to before next occurrence of {char} on line
Jump to after previous occurrence of {char} on line
Repeat last f/F/t/T motion forward
Repeat last f/F/t/T motion backward
Jump to top of screen
Jump to middle of screen
Jump to bottom of screen
Scroll down half a screen
Scroll up half a screen
Scroll down a full screen
Scroll up a full screen
Enter Insert mode before cursor
Enter Insert mode at start of line
Enter Insert mode after cursor
Enter Insert mode at end of line
Open new line below and enter Insert mode
Open new line above and enter Insert mode
Replace character under cursor with {char}
Enter Replace mode (overwrite characters)
Delete character under cursor and enter Insert mode
Delete entire line and enter Insert mode
Change (delete + enter Insert) over motion
Change from cursor to end of line
Change (replace) entire line
Toggle case of character under cursor
Undo last change
Redo last undone change
Repeat last change
Auto-indent over motion
Auto-indent current line
Delete character under cursor
Delete character before cursor
Delete over motion (e.g. dw, db, de)
Delete entire current line
Delete from cursor to end of line
Delete word from cursor
Delete word backwards
Delete to end of word
Delete from current line to end of file
Delete from current line to start of file
Yank (copy) over motion
Yank entire current line
Yank to end of line (same as yy in most configs)
Yank word from cursor
Yank word backwards
Paste after cursor / below line
Paste before cursor / above line
Search forward for pattern
Search backward for pattern
Repeat search in same direction
Repeat search in opposite direction
Search forward for word under cursor
Search backward for word under cursor
Replace all foo with bar on current line
Replace all foo with bar in entire file
Replace with confirmation for each match
Set mark {a-z} at cursor position
Jump to mark {a-z} (exact position)
Jump to line of mark {a-z}
Jump to position before last jump
Jump to line before last jump
Start recording macro into register {a-z}
Stop recording macro
Execute macro stored in register {a-z}
Re-execute last macro
Execute macro N times
Split window horizontally
Split window vertically
Switch to next window
Move to window on the left
Move to window below
Move to window above
Move to window on the right
Close current window
Increase window height
Decrease window height
Make all windows equal size
Join current line with next line
Join lines without inserting space
Indent current line
Unindent current line
Save file and quit
Quit without saving
Show ASCII value of character under cursor
Show file status and cursor position