Neovim Keyboard Shortcuts
A deep Neovim shortcuts guide: navigation, editing, buffers, splits, search, and macros.

Modes & Basics
| Key / Code | Description |
|---|---|
| i | Insert mode |
| Esc | Normal mode |
| :w | Save |
| :q | Quit |
| :wq | Save & quit |
| :qa | Quit all |
Navigation
| Key / Code | Description |
|---|---|
| h j k l | Left / Down / Up / Right |
| gg | Top of file |
| G | Bottom of file |
| w / b | Next / previous word |
| 0 / $ | Start / end of line |
| Ctrl + d / Ctrl + u | Half-page down / up |
Editing
| Key / Code | Description |
|---|---|
| dd | Delete line |
| yy | Yank line |
| p | Paste after |
| P | Paste before |
| u | Undo |
| Ctrl + r | Redo |
| ciw | Change inner word |
| di( | Delete inside parentheses |
Search & Replace
| Key / Code | Description |
|---|---|
| /pattern | Search forward |
| ?pattern | Search backward |
| n / N | Next / previous match |
| :%s/old/new/g | Replace all |
| :%s/old/new/gc | Replace with confirmation |
Buffers & Tabs
| Key / Code | Description |
|---|---|
| :ls | List buffers |
| :bnext / :bprev | Next / previous buffer |
| :bd | Close buffer |
| :tabnew | New tab |
| gt / gT | Next / previous tab |
Splits
| Key / Code | Description |
|---|---|
| :split | Horizontal split |
| :vsplit | Vertical split |
| Ctrl + w + w | Cycle windows |
| Ctrl + w + h/j/k/l | Move between splits |
| Ctrl + w + = | Equalize split sizes |
Macros
| Key / Code | Description |
|---|---|
| q{register} | Start recording macro |
| q | Stop recording |
| @{register} | Play macro |
| @@ | Repeat last macro |
Pro Workflow
Typical flow: search → change text objects → repeat with macros.
/pattern
ciw # change inner word
qf # record macro
@f # replayKnowledge is power.