I find cheatsheets very useful when I’m learning, so I made this one for Vim.
Essential Modes
Mode |
Key |
Use |
Normal |
Esc |
Navigate and edit |
Insert |
i , a , o |
Write text |
Visual |
v , V |
Select text |
Command |
: |
Save, open files, run commands |
Common Markdown Text Actions
Command |
Use |
i , a |
Insert before/after cursor |
o , O |
New line below/above (great for lists/paras) |
>> , << |
Indent / Un-indent (useful for lists or blocks) |
gwip |
Reflow paragraph (great for tidy line wrapping) |
gqap |
Format paragraph (text width from :set tw=80 ) |
:set tw=80 |
Set wrap width (for gq formatting) |
Movement for Markdown
Command |
Use |
} / { |
Move forward/backward by paragraph (blank line) |
]] / [[ |
Jump to next/previous heading |
* / # |
Move to list bullet / heading (via search) |
H M L |
Top, Middle, Bottom of screen |
Ctrl-d/u |
Scroll half page down/up |
Task |
Command or Insert |
Heading |
## or ### (Insert mode) |
Bold |
**bold** or __bold__ |
Italic |
*italic* or _italic_ |
Code (inline) |
`code` |
Code block |
```lang ↵ code ``` |
Blockquote |
> at beginning of line |
Bullet list |
- or * or + |
Numbered list |
1. etc. |
Checkbox list |
- [ ] task / - [x] done |
Horizontal rule |
--- or *** |
Link |
[text](url) |
Image |
 |
Navigation & Search
Command |
Use |
/pattern |
Search forward |
n / N |
Next / previous match |
:%s/foo/bar/g |
Replace all foo with bar |
:noh |
Clear search highlights |