Vim & Neovim High-Velocity Navigation Cheat Sheet: Motions, Verbs & Macros
Unlock keyboard-only editing speed in Vim, Neovim, and VS Code Vim mode with high-velocity motions, text objects grammar, global regex substitution, and macro automation.
1. The Four Core Modes of Vim
| Key | Mode / Action | Category | Copy |
|---|---|---|---|
| i | Enter Insert mode before the cursor. | Modes | |
| a | Enter Insert mode after the cursor (append). | Modes | |
| o | Open a new line below the cursor and enter Insert mode. | Modes | |
| O | Open a new line above the cursor and enter Insert mode. | Modes | |
| v | Enter character-wise Visual mode to select text. | Visual | |
| V | Enter line-wise Visual mode to select whole lines. | Visual | |
| Ctrl + V | Enter Visual Block mode (column selection for multi-line editing). | Visual | |
| : | Enter Command-line mode to run ex commands (:w, :q, :wq). | Command |
3. Text Objects & Editing Grammar
| Combo | Action Description | Category | Copy |
|---|---|---|---|
| ciw | Change inside word (deletes current word and enters Insert mode). | Words | |
| di" | Delete contents inside double quotes without deleting the quotes. | Quotes | |
| ca( | Change around parentheses (deletes parentheses and their contents). | Blocks | |
| cit | Change inside HTML/XML tag (replaces content between <div>...</div>). | Tags | |
| yy / p | Yank (copy) current line / paste below cursor. | Clipboard | |
| dd | Delete (cut) entire line. | Clipboard | |
| u / Ctrl + r | Undo last change / Redo last undone change. | History | |
| . | Repeat the last editing action at the current cursor position. | Repeat |
4. Search, Global Regex & Macro Automation
:%s/oldPattern/newReplacement/gcReplaces all occurrences throughout the file, prompting (y/n/a/q) for each match.
# 1. Start recording into register "a":
qa
# 2. Perform editing steps...
# 3. Stop recording:
q
# 4. Replay macro 10 times:
10@aAutomates repetitive multiline editing across thousands of lines in seconds.
:vsplit " Split vertically
:split " Split horizontally
Ctrl+w h " Move to left split
Ctrl+w l " Move to right splitOpens multiple buffer views side-by-side in terminal.
Related Free Online Tools
Put these techniques into practice immediately with our privacy-first browser utilities:
Test and debug regex replacement patterns before running :%s/find/replace/g.
Clean and strip irregular whitespace from edited code files.
Perform instant client-side multiline search and text replacement.