figro ← All tools

Vim Be Good — learn Vim motions in your browser

A free, interactive Vim Be Good game. Practise real Vim commands on a live editor with relative line numbers — through short guided lessons and fast arcade drills. Click the editor and start pressing keys. No install, nothing uploaded.

~/practice.txt NORMAL
 1,1

Lesson 1 / 0

Jump to

What is “Vim Be Good”?

Vim Be Good is a popular way to learn Vim motions by playing instead of reading. This page is a free browser version of Vim Be Good — you don’t need to install Vim or a Neovim plugin. Click the editor above and practise the exact keystrokes you’d use in the real thing: hjkl to move, w/b/e to jump by word, dd to delete a line, cw to change a word, and counts like 6j that pair perfectly with relative line numbers. Muscle memory is the whole game — the drills here are built to give you a lot of reps, fast.

Vim motions cheat sheet

Move

h j k lleft / down / up / right
w / b / enext / prev / end of word
0 ^ $line start / first char / end
gg / Gfirst / last line
5jdown 5 lines (counts)
f x / t xfind / till char x

Edit

xdelete character
dddelete line
dw / Ddelete word / to end
cw / ciwchange word
p / Ppaste after / before
uundo

Insert

i / ainsert before / after cursor
I / Ainsert at line start / end
o / Oopen line below / above
Escback to Normal mode

Files & windows

:e fileopen a file (into a buffer)
:lslist open buffers
:b nameswitch to buffer by name
:bn / :bpnext / previous buffer
Ctrl-^back to alternate file
Ctrl-o / Ctrl-ijumplist back / forward
:Exfile explorer (netrw)
:sp / :vspsplit window horiz / vert
Ctrl-w wmove between windows

How to use this Vim trainer

Start with Motions — each lesson drops you into a tiny scenario and asks you to move, delete, or change something with a specific key. Do the task and it auto-advances. When the motions feel natural, take on a Mission: a full 20–30 line file with an ordered checklist of edits, so you refactor real code exactly like you would at work. Golf is endless: it generates a fresh little challenge forever — delete, change, yank & paste, join, replace, jump — and scores you against par, the fewest keystrokes it takes, so you learn to be efficient, not just correct. The Files track teaches the part most tutorials skip — buffers, the jumplist, netrw and splits.

How to move between files in Vim

This is the piece that confuses almost everyone at first, because Vim doesn’t have “tabs” the way other editors do. The mental model is three layers. A buffer is a file loaded into memory — you make one with :e path/to/file. A window is a viewport showing a buffer; a tab page is a layout of windows. Most day-to-day navigation is just buffers: open a few files, then hop between them with :b name (a substring is enough, so :b main finds main.js), step through them with :bn and :bp, or list them with :ls. The single most useful key is Ctrl-^, which flips back to the alternate file — the one you were just in — so bouncing between a component and its test is one keystroke. When you want two files on screen at once, :vsp other.js opens a vertical split and Ctrl-w then w moves between the windows. And Ctrl-o / Ctrl-i walk backward and forward through everywhere you’ve jumped, across files. Open the Files tab above and run each of these live — the explorer on the right shows your buffers updating as you go.

Is this the real Vim Be Good?
It’s a free browser trainer inspired by the same idea — practising motions in a game loop — and then taken further with long refactor missions and a file-navigation track. The original Vim Be Good is a Neovim plugin; this runs anywhere with no setup, so you can warm up from any machine.
What is the Golf mode?
Golf is endless practice scored on efficiency. It generates a fresh little edit forever — delete a word or line, change a word, yank & paste to duplicate a line, join lines, replace a character, delete to the end of a line, jump by a count — and shows you par (the fewest keystrokes) next to your actual key count. Try to match par, or beat it. It’s the fastest way to stop typing five keys for a two-key job, and it rotates through far more commands than cw/ciw.
Does it teach moving between files, buffers and splits?
Yes — that’s the Files tab, and it’s deliberately the part other tutorials gloss over. You practise :e, :ls, :b, :bn/:bp, Ctrl-^, the Ctrl-o/Ctrl-i jumplist, netrw (:Ex) and splits (:vsp + Ctrl-w) against a small simulated project, with an explorer that shows your open buffers.
Will this teach me enough to use Vim day to day?
The motions, edits and navigation drilled here — movement, word jumps, delete/change, insert, undo, counts, relative jumps, buffers and splits — are the core you’ll use most of the time. Once they’re automatic, the rest of Vim builds on top of them.
Does it work on mobile?
Vim is a keyboard tool, so a physical keyboard is strongly recommended. On a laptop or desktop it works great; on a phone without a keyboard there’s not much to press.