Vim Interactive Curriculum
Master Vim step-by-step from fundamental modes to advanced text objects and macros.
Foundations & Modes
Master mode switching and fundamental navigation keys.
Understanding Vim Modes
Learn how Normal mode differs from Insert mode and how to return to Normal mode.
Basic Navigation: h, j, k, l
Navigate without leaving the home row using h (left), j (down), k (up), and l (right).
Word Movement: w, b, e
Jump across words rapidly using w (next word), b (previous word), and e (end of word).
Line Start & End: 0 and $
Jump instantly to the first character (0) or last character ($) of a line.
File Jumps: gg and G
Jump instantly to the top of the file (gg) or the bottom of the file (G).
Basic Editing & Insertion
Learn how to insert, append, and delete characters.
Entering Insert Mode: i and a
Insert before cursor with i, or append after cursor with a.
Opening New Lines: o and O
Open a new line below with o, or above with O, and enter Insert mode automatically.
Line-End Insertion: I and A
Jump to line start and insert (I), or line end and append (A).
Deleting Characters: x
Delete the single character directly under the cursor using x.
Deleting Words: dw
Delete from cursor to the beginning of the next word using dw.
Line Operations & Search Basics
Delete whole lines, undo mistakes, and search characters.
Deleting Entire Lines: dd
Delete the entire current line using dd.
Delete to Line End: d$ and D
Delete from cursor to the end of the line using d$ or D.
Undo and Redo: u & Ctrl+R
Undo previous edit with u, and redo with Ctrl+R.
Find Character: f and F
Jump directly to a character on current line with f (forward) or F (backward).
Till Character: t and T
Jump right BEFORE a character on current line using t (forward) or T (backward).
Advanced Change & Text Objects (PRO)
Master power editing with change operators and inner text objects.
Changing Words: cw
Delete word from cursor and enter Insert mode immediately using cw.
Inner Word Change: ciw
Change the entire word under cursor regardless of cursor position using ciw.
Change Inside Quotes: ci"
Change text inside double quotes instantaneously with ci".
Delete Inside Parentheses: di(
Delete all arguments inside parentheses with di(.
Change Entire Line: cc
Wipe current line and enter Insert mode maintaining indentation with cc.
Visual Mode & Selection (PRO)
Select character blocks or full lines to delete, change, or copy.
Character Visual Mode: v
Enter visual character selection mode with v.
Line Visual Mode: V
Select entire lines at a time with shift V.
Visual Selection Deletion
Delete highlighted visual selection with d or x.
Visual Selection Yanking
Yank (copy) highlighted selection with y.
Paragraph Text Objects: dap & vip
Manipulate entire code paragraphs with dap (delete a paragraph) or vip (visually select inner paragraph).
Yank, Paste & Registers (PRO)
Master copying, pasting, word searching, and named registers.
Yanking Lines: yy
Yank (copy) current line using yy.
Pasting Text: p and P
Paste after cursor/line with p, or before cursor/line with P.
Search Word under Cursor: * and #
Search forward for word under cursor with *, or backward with #.
Named Registers Usage
Use named registers like "ay and "ap to store separate snippets.
Macro Basics & Execution
Record sequence with q{register} and replay with @{register}.