Vim / Neovim Basics: Modes and Navigation

Core modal editing concepts, motions, and movement commands for everyday editing.

View
StandardDetailedCompact
Export
Copy the compact sheet, download it, or print it.
Download
`D` dense toggle · `C` copy all

Core modes

Move between normal, insert, visual, and command-line modes quickly.

Enter insert mode

Start typing before or after the cursor.

vimANYviminsert-modebasics
vim
i  a  I  A  o  O
Notes

These are the highest-frequency insert entry points in Vim and Neovim.

Return to normal mode

Leave insert or visual mode.

vimANYvimnormal-modebasics
vim
<Esc>
Notes

Normal mode is the control center for motions, operators, and commands.

Enter command-line mode

Run Ex commands such as write, quit, and substitutions.

vimANYvimex-commandbasics
vim
:
Notes

The `:` prompt is used for Ex commands, ranges, help, file actions, and substitutions.

Essential motions

Move precisely without reaching for arrow keys.

Move with home-row keys

Navigate left, down, up, and right.

vimANYvimnavigationmotions
vim
h  j  k  l
Notes

These are the foundational motion keys in normal mode.

Move by words

Jump by word starts and ends.

vimANYvimnavigationword
vim
w  b  e
Notes

Use `w` forward, `b` backward, and `e` to the end of the current or next word.

Move to line edges

Jump to line start or end.

vimANYvimnavigationline
vim
0  ^  $
Notes

`0` goes to column 1, `^` to the first non-blank, and `$` to line end.

Jump within file

Move to the top or bottom of the buffer.

vimANYvimnavigationfile
vim
gg  G
Notes

`gg` jumps to the first line and `G` to the last.

Jump to matching delimiter

Move between matching brackets, braces, or parentheses.

vimANYvimnavigationpairs
vim
%
Notes

Excellent for code blocks and nested structures.

Scrolling and viewport

Move through larger files and keep context visible.

Half-page scrolling

Scroll quickly without losing context.

vimANYvimscrollnavigation
vim
<C-d>  <C-u>
Notes

`<C-d>` scrolls down half a page; `<C-u>` scrolls up half a page.

Center current line

Recenter the viewport around the cursor line.

vimANYvimscrollview
vim
zz
Notes

Useful after searches, jumps, or diagnostics navigation.

Move line to top or bottom of screen

Reposition the viewport around the current line.

vimANYvimscrollview
vim
zt  zb
Notes

`zt` puts the current line at the top; `zb` at the bottom.

Recommended next

No recommendations yet.