Learn Practice Daily golf Reference
Practice

Drill until it's muscle memory

Pick what to drill and a kind of round, hit Enter, and go. Time attacks count goals against the clock; endless rounds get harder every five goals.

Movement
Editing
Text objects
Visual & Insert
Macros & Ex
Plugins
Roundgoals · time attack · endless
1 of 10Move the cursor onto the
1function averageRating(reviews: Review[]) {
1 if (reviews.length === 0) return 0;
2 const sum = reviews.reduce((acc, r) => acc + r.stars, 0);
3 const avg = sum / reviews.length;
4 return Math.round(avg * 10) / 10;
5}
6
7const best = reviews.filter((r) => r.stars === 5);
8console.log("five-star reviews:", best.length);
NORMALLoading the editor…1/100.0s1:1
Fresh goals, every round

Every goal is new, built on real code from the drills you picked. Finish one at par and each command you used earns XP; what you practise comes back for review just as it starts to fade.

A practice round needs a keyboard. Read on, and play it at your computer.

What this round trains
Your stats →

Finish a goal at par and each command you used gets 1 XP. Every command has 10 levels; the bar fills toward the next.

wnext wordLv 0
fjump to a characterLv 0
Aappend at the line endLv 0
bback a wordLv 0
tjump till a characterLv 0
Iinsert at the line startLv 0

Vim practice exercises, drill by drill

Each drill makes fresh goals from real code for one group of commands. New to one? Its lesson teaches it first. Want a game instead? Vim games, compared.

Movement

Editing

Text objects

Visual & Insert

Macros & Ex

Plugins