⌨️
DevType.site

Vim Commands Typing Drills

Vim commands aren't typed like text — they're composed like sentences from operators and motions. Drilling `ciw`, `di(`, and `:%s///g` patterns trains the grammar itself, which is exactly what separates Vim users from Vim survivors.

Target Categoryterminal DrillMode: Vim Commands
LV 1
Level Progress0 / 100 XP
High Score0 WPM
Badges0 / 5
📅
Daily Challenge
A new snippet every day — same for everyone. Keep your streak alive.
Snippet Language
Custom
Difficulty
Test Length
Keyboard Layout
Visual Theme
Key Switch Sounds
Volume
WPM00
Accuracy00%
Timer0s
📄 main.js
Ready
1
Click here or press any key to focusTAB / ANY KEY

Learning the Operator-Motion Grammar

Vim's power comes from composition: `ciw` is change-inner-word, `di(` deletes inside parentheses, `yap` yanks a paragraph — operator plus text object, two or three keystrokes replacing whole mouse workflows. These sequences must be typed as atomic gestures; if you're spelling them letter by letter, you're thinking in keys instead of edits. Counts prefix everything (`d2w`), and find-motions (`f"`, `t;`) jump to characters inline.

Ex-mode brings a second language: substitution with ranges and flags (`:%s/var /const /gc`), global commands (`:g/pattern/d`), and their inverse (`:v//d`). Vim's regex dialect escapes groups as `\(\w\+\)` — backslash-heavy even by regex standards. Macros record keystroke sequences (`qa...q`), making your typing precision literally replayable. Every drill here is a real editing pattern you'll use within the week.

Key Drills for Vim Commands:

  • Operator + motion = one thought: Type `ciw` and `da"` as single gestures. The grammar only pays off at gesture speed.
  • Colon commands as sentences: Drill full `:%s/old/new/g` lines — range, pattern, replacement, flags — without pausing.
  • Escaped groups: Vim regex needs `\(` and `\+`. Practice the backslash-prefixed forms until they don't feel wrong.

Sample Drill: Motions & Text Objects

Core movement and text-object edit commands.

vim-motions · easy
ciw
di(
yap
vt;
d2w
f"ci"

The Symbols That Slow You Down

The keystrokes below are where Vim Commands typing speed is won or lost. Key positions shown for QWERTY — the pattern transfers to any layout, just on different physical keys.

SymbolUsed ForKeysHow to Drill It
ciwChange inner wordc, i, w — all unshiftedOperator, motion, text-object as one atomic gesture. If you spell it letter by letter, you're thinking in keys.
:Ex-mode entryShift+SemicolonEvery command-line mode entry. The colon should launch your hands into command posture automatically.
:%s///gSubstitution: % s / / / g — shifted and unshifted mixedRange, command, three slashes, flag — the full pattern typed as one memorized sentence.
"aRegister prefixQuote as Shift+Apostrophe, then letter`"ayiw` — registers prefix yanks and pastes. A quote reach most typists never drilled.
/SearchUnshifted slashSearch-first editing: `/pattern` then Enter. The slash sits under your right pinky's home stretch.
%Match jump / file rangeShift+5Jump between brackets — and in `:%s`, the whole-file range. One key, two daily jobs.

Common Vim Commands Typing Mistakes

  • ✗Typing motions as letters instead of gestures: `ciw` and `di(` must be single muscle-memory units.
  • ✗Pausing between the three slashes in substitution — the rhythm of `:%s/old/new/g` should be unbroken.
  • ✗Escaping Vim regex groups wrongly: `\(` and `\+` are backslash-prefixed here, unlike every other dialect.

What's a Good Vim Commands Typing Speed?

Vim fluency is gesture speed, not raw WPM: operators like `ciw`, `dat`, and `yyp` should land in under 300 milliseconds each. Sustained 30+ WPM on command drills means your editing vocabulary has become reflex.