Learn Practice Daily golf Reference
About

Everyone gets stuck in Vim once

Maybe it was a git commit message. Maybe a server with nothing else installed. You pressed a few keys, the cursor ran off without you, the bottom of the screen said recording @q, and you closed the whole terminal. VimNinja is for next time.

What it is

A Vim course that runs in your browser, in a real Vim editor. Every chapter is a short story at Byte Burrito, a startup that delivers burritos by e-bike, mostly on time. Your mouse lives in a drawer (company policy: "ninjas don't click"). You read one idea, watch the editor play it, then do it yourself.

The course
82 chapters in 14 tracks, from i and Esc to macros, :s and real refactors. The first two tracks, 13 chapters, are free.
The Daily 5
Commands you're about to forget come back just before you do. Forgetting is normal; the Daily 5 just gets there first.
Practice
33 drills, one per group of commands. A set of goals, a time attack, or endless, for when w has to become a reflex.
Daily golf
One hole a day from 60: turn the text into the target in as few keys as you can. Solve it, and you get to watch how the leaders did it in fewer.
The reference
Every command the course teaches, on one page, each linked to its chapter.

How it teaches

The engine, for the curious

The editor is our own implementation of Vim's Normal, Insert, Visual and command-line modes, written for the browser. We don't take its word for anything: every lesson's solution, every demo and every golf par is replayed in real Neovim too, and both have to end up with the same text. If daw does something here, it does the same thing in your Vim.

The old VimNinja

VimNinja has been here before: the first version had 16 exercises. On 4 November 2026 this one took over the same address. If you signed in with Google back then, the same button finds your account, and if you bought Pro, you still have it. Progress didn't move over, because the exercises it counted are gone, and old links redirect to their new homes. The whole list is in the changelog.

Say hello

Found a bug, got lost in a lesson, have an idea? Send feedback, or email support@vimninja.com. We read everything.

One more thing: this page has a command line. Press : and try q.