| i | Insert before cursor |
| a | Insert after cursor |
| A | Insert at end of line |
| o | New line below, insert |
| O | New line above, insert |
| Esc | Return to Normal mode |
| v | Visual select (chars) |
| V | Visual select (lines) |
| R | Replace / overtype mode |
| h j k l | Left / down / up / right |
| w / b | Next / prev word |
| 0 / $ | Start / end of line |
| ( / ) | Prev / next sentence |
| { / } | Prev / next paragraph |
| gg / G | Top / bottom of file |
| gj / gk | Move by visual line |
| 5j | Move down 5 lines (any №) |
| x | Delete character |
| dw | Delete word |
| dd | Delete line |
| das | Delete a sentence |
| dap | Delete a paragraph |
| ciw | Change inner word |
| cis | Change inner sentence |
| cip | Change inner paragraph |
| r | Replace one character |
| ~ | Toggle case |
| . | Repeat last change |
| yy | Yank line |
| yw | Yank word |
| yas | Yank a sentence |
| yap | Yank a paragraph |
| p / P | Paste after / before |
| "*y / "+y | Yank to clipboard (Linux / Mac) |
| "*p / "+p | Paste from clipboard (Linux / Mac) |
| u | Undo |
| Ctrl+r | Redo |
| /word | Search forward |
| ?word | Search backward |
| n / N | Next / prev match |
| * | Search word under cursor |
| :%s/old/new/g | Replace all in file |
| :%s/old/new/gc | Replace all, confirm each |
With wrap on, use gj and gk to move by visual line — essential for long prose paragraphs. Combine text objects like cis (change inner sentence) with . to repeat edits fast.