Learn Vim by playing.

Modal editing has a brutal learning curve. vimkatas turns it into a game — bite-sized katas, ghost races against your best run, and a leaderboard ranked by the only metric that matters: fewer keystrokes.

hjk ldw ciw
▶ Start playing 🏎 Ghost race

Muscle memory, not memorization.

Vim is NOT

  • arrow keys and the mouse
  • memorizing a cheat-sheet you forget by Friday
  • panicking at :q
  • watching a 40-minute tutorial

Vim IS

  • moving by words, lines, and structure
  • composing operators with motions (diw, ci")
  • a language you speak with your fingers
  • doing more by typing less

How it works

01

Move without arrows

Start with the home row. Land the cursor on the target — no mouse, no arrows.

j j j l l l
02

Compose operators

Operators plus motions and text objects. Real Vim grammar, learned by doing.

c i w
03

Race & climb

Beat your own ghost, share a run by URL, then race the #1 player on the board.

→ beat #1

The katas

What's inside

A real Vim engine

One shared engine validates every keystroke — the web and CLI can't teach divergent behavior.

Ghost races

Race a recording of your best run in real time. No server needed to play.

Shareable runs

Pack a run into a URL and dare a friend to beat your ghost.

Leaderboard

Ranked by fewest keystrokes, then fastest time. Server-validated, no cheating.

Web → CLI

Learn in the browser, then graduate to the terminal where the muscle memory counts.

Free & open

Built as a shared TypeScript core with thin web and CLI frontends.

Type less. Do more.

▶ Start playing 🏎 Ghost race