Learn Vim by doing: short editing challenges in a real browser Vim editor.
hjkl.duy.run
Pick the skills you want to learn. Each one has two guided edits, two prompted edits and two independent edits. An edit passes as soon as the text matches the goal, so any valid approach counts. Type :help in Normal mode for the current level's commands.
hjkl runs entirely in the browser, with no accounts or storage. It needs a physical keyboard and a screen at least 768 px wide.
Requires Node.js 22.13+.
npm ci
npm run dev -- --host localhost # http://localhost:5173
npm run typecheck
npm test # needs: npx playwright install chromium webkitBuilds: npm run build (Cloudflare Workers), npm run build:vercel, or npm run build:node plus node scripts/serve.mjs. A Containerfile is included.
To add challenges, see docs/content-authoring.md. Lesson-flow rules are in AGENTS.md.
MIT. Space Mono font under the SIL Open Font License.