Vim and Neovim
Unscored tasks with hints and instant feedback. Practice results never become credentials.
Short lesson
Vim: ciw, dt), :%s/old/new/g, qa…q then 100@a, :g/pat/d. Emacs: M-% query-replace, C-x ( … C-x ) macros, C-x r k rectangles.
Set debug to false and delete the log_level line, then save. The editor starts in a clean default setup (vanilla mode).
Sign up to practiseTurn every log line into just “job NNN finished” (drop the timestamp and worker prefix). Aim for under 40 keystrokes. The editor starts in a clean default setup (vanilla mode).
Sign up to practiseChange the table name "users" to "customers" (only that one). The editor starts in a clean default setup (vanilla mode).
Sign up to practiseConvert every line “name,email” to “Name <email>” (capitalise the name). Record a macro once and replay it. The editor starts in a clean default setup (vanilla mode).
Sign up to practiseDelete every line that contains DEBUG, then sort the remaining lines alphabetically. The editor starts in a clean default setup (vanilla mode).
Sign up to practiseRename the function fetch_user to load_user everywhere it is used — but do NOT change fetch_user_orders. The editor starts in a clean default setup (vanilla mode).
Sign up to practiseWhich command runs `:s/foo/bar/g` in every file of the quickfix list and saves them?
Sign up to practiseSwap the two columns on every line (email first, then name) using a single substitution with capture groups. The editor starts in a clean default setup (vanilla mode).
Sign up to practise