vimninja.com · Developer Tools
5 items
Learn Vim motions and commands in 82 short lessons on a real Vim engine, with daily practice, a Vim golf game and reminders. VimNinja is an interactive Vim tutorial in your browser. Learn Vim motions, commands and text objects a few minutes a day, on a real Vim engine from your first keystroke, then keep them with daily practice and a Vim golf game. Free, no account, no terminal. It works offline. THE COURSE: 82 SHORT LESSONS From your very first keys (i, Esc, h j k l) to words, finds, operators, text objects, visual mode, registers, macros and :g. Each lesson is a few cards: the idea, a demo the engine plays on real code, an exercise you solve on real code, and a quick recall from memory. A few minutes each. DAILY PRACTICE Every command you practise gets a memory schedule. When one starts to fade, it comes back in the Daily 5, a short round of fresh goals on real code. The toolbar button shows how many are due. VIM GOLF, ONE HOLE A DAY Edit the text into the target in as few keystrokes as you can. Par is the shortest known solution, and your result copies as a row of coloured squares, one per key. A REAL VIM ENGINE Motions, operators, counts, text objects, registers, the dot command, macros, visual block, search and Ex commands, checked against Neovim. It reads your keys back in plain words ("change inside the double quotes") and shows a shorter way when there is one. REMINDERS, IF YOU WANT THEM Pick a time of day, or a nudge when you come back to your computer. At most one a day, and none once today's practice is done. PRIVATE BY DESIGN No account, no tracking, no network requests. Your progress stays in the extension on your computer. The keys you learn work in Vim and Neovim, and in the Vim modes of VS Code, JetBrains IDEs and Zed. The full lessons, with every exercise, bosses and endless rounds, are at vimninja.com.
Nov 8, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.