Vim HotKeys
⚙️ Modes
| Mode | Key | Description |
|---|---|---|
| Normal | Esc |
Return to default navigation mode |
| Insert | i |
Start typing before the cursor |
| Append | a |
Start typing after the cursor |
| Visual | v |
Start character-based selection |
| Visual Line | V (Shift+V) |
Select entire lines |
| Visual Block | Ctrl + v |
Select rectangular blocks of text |
| ## 🕹️ Navigation |
| Action | Hotkey |
|---|---|
| Basic Movement | h (left) j (down) k (up) l (right) |
| Start of line | 0 (zero) |
| First non-blank char | ^ |
| End of line | $ |
| Next / Previous word | w / b |
| Jump to line [n] | :[number] or [number]G |
| Top / Middle / Bottom | gg / zz (center screen) / G |
🛠️ Editing & Buffer
| Action | Hotkey |
|---|---|
| Delete character | x |
| Delete word | dw |
| Delete (Cut) line | dd |
| Copy (Yank) line | yy |
| Paste | p (after) or P (before) |
| Replace one char | r |
| Undo / Redo | u / Ctrl + r |
⌨️ Insert Mode Shortcuts
| Action | Hotkey |
|---|---|
| Insert at start of line | I (Shift+I) |
| Insert at end of line | A (Shift+A) |
| Open new line below | o |
| Open new line above | O (Shift+O) |
🔍 Search & Replace
| Action | Hotkey |
|---|---|
| Search forward | /text |
| Search backward | ?text |
| Next / Previous match | n / N |
| Search & Replace (all) | :%s/old/new/g |
🪟 Windows / Splits
| Action | Hotkey |
|---|---|
| Split horizontally | :split or Ctrl+w, s |
| Split vertically | :vsplit or Ctrl+w, v |
| Switch between splits | Ctrl + w + [h/j/k/l] |
| Close current split | :q or Ctrl+w, c |
🗂️ Tabs
| Action | Hotkey |
|---|---|
| New tab | :tabnew |
| Next / Previous tab | gt / gT |
| Close tab | :tabclose |
💾 Save & Quit
| Action | Hotkey |
|---|---|
| Save | :w |
| Quit | :q |
| Save & Quit | :wq or ZZ |
| Force Quit (no save) | :q! |