vimdojo
vim --learn

Learn Vim.
Actually.

Interactive Vim, drilled into muscle memory through 50+ bite-sized challenges. No install, no tutorials you'll forget by Tuesday — just real motions, real buffers, real progress.

No install needed 50+ challenges Free to start
~/vimdojo/server.py
PYTHON · UTF-8 · LF
1
2
3
4
5
6
7
8
# server.py — handle the request, ship it
from flask import Flask, request
app = Flask(__name__)
app.route('/api/heartbeat')
def heartbeat():
return {'status': 'ok'}
NORMAL
main
python
Ln 2, Col 5
-- press hjkl to move --
live mock · normal mode4 modes · 80+ motions
52 challenges
across 9 modules
~6h to fluent
avg learner
4 modes mastered
normal · insert · visual · cmd
0 installs
runs in your browser
AD · landing-leaderboard
728x90 · Leaderboard
// google adsense slot
01 / 03
hjkl
Move like a Vim user
Start with motions. End with text objects. Each lesson drills one idea until it's reflex.
02 / 03
:help
Cheatsheet that learns with you
Filter by mode, search by command, hide what you already know. Progress is visible.
03 / 03
:sand
A sandbox for real files
Practice on log files, configs, JSON. No grading, no pressure — just keystrokes.