Vim From Scratch — Part 1: Why a 1970s Editor Refuses to Die
Vim is older than most of the people using it, has a reputation for trapping newcomers who can't figure out how to quit, and is still one of the fastest ways to edit text ever built. Both of those things are true, and that's exactly why it's worth your time.
There's a joke that's been making the rounds for decades: how do you generate a truly random string? Sit a new developer down in front of Vim and ask them to exit. It's funny because it's true, and it captures the exact reason so many people bounce off Vim before they ever see what the fuss is about. You open it, you type, nothing sensible happens, and you close the terminal in a panic.
I want to make the case that pushing past that first ten minutes is one of the better investments you can make as someone who works with text for a living. And make no mistake — you work with text for a living. Code is text. Config is text. Commit messages, SQL, markdown, YAML that ruins your afternoon — all text.
It is genuinely everywhere
Here's a practical argument before any of the romantic ones. Some version of vi is installed on essentially every Unix-like system on the planet. It's mandated by the POSIX standard. SSH into a server you've never touched — a fresh cloud box, a Raspberry Pi, a colleague's machine, a Docker container with nothing else in it — and vi is there. No installer, no extension marketplace, no "please wait while we index your workspace."
That reach matters more than it sounds. The editor you can always use is worth learning once, because you never have to relearn it. Your fancy IDE is wonderful right up until you're staring at a broken production box at 2am with only a shell.
The archaic bit is the point
Vim looks archaic because it is archaic, in the honest sense: its core ideas were forged in the 1970s on hardware where moving your hand to a mouse wasn't an option, because there was no mouse. Every action had to be a keystroke, and keystrokes were expensive, so the people who designed it thought very hard about making each one count.
That constraint produced something surprising. Instead of a text editor, they built a small language for editing text. You don't press a "delete word" button. You say "delete" and then "word," and because those are separate ideas you can also say "delete" and "sentence," or "change" and "word," or "delete three words." The vocabulary multiplies. We'll spend a whole part of this series on that grammar because it's the single most important thing about Vim, and it's the thing screenshots can never convey.
Your hands never leave home
Modern editors have quietly rediscovered what Vim knew: reaching for the mouse is slow. Every time your hand leaves the keyboard, finds the mouse, moves a pointer, clicks, and comes back, you've spent a surprising amount of time and broken your train of thought. Vim keeps you on the home row. Navigation, selection, editing, search, running commands — all of it happens under your fingers. Once the motions are muscle memory, you stop thinking about how to make an edit and just make it, the way a touch typist stops thinking about where the keys are.
The honest part
I'm not going to pretend this is free. Vim has a real learning curve, and it's front-loaded. For the first week or two you will be slower than you were before. You'll forget you're in the wrong mode. You'll delete a line you meant to copy. You'll rage-quit at least once. This is normal and it is temporary.
The curve is shaped like a hockey stick. Most editors give you 80% of their value in the first hour and then plateau. Vim gives you very little in the first hour and then keeps paying out for years. People who've used it for a decade still discover better ways to do things. That's not a bug — it's what "as powerful as it claims" actually looks like.
What this series is
This is a twelve-part climb from "how do I quit this thing" to genuine fluency. Here's the route:
- Part 2 — Modal editing, and why having modes is a feature, not a bug.
- Part 3 — Motions: moving around at the speed of thought.
- Part 4 — Operators and text objects: the grammar that makes it all click.
- Part 5 — Search, substitute, and just enough regex to be dangerous.
- Part 6 — Registers and macros: your clipboard and your robot army.
- Part 7 — Marks, jumps, buffers, windows, and tabs.
- Part 8 — Ex commands and the quiet magic of
:g. - Part 9 — Your config file: making Vim yours.
- Part 10 — Plugins, without turning Vim into a Rube Goldberg machine.
- Part 11 — Neovim, LSP, and completion: Vim as a real IDE.
- Part 12 — Building a workflow that actually sticks.
You don't need to install anything exotic to follow along. If you're on macOS or Linux, you almost certainly already have vim — type vim in a terminal and see. On Windows, grab it from the official site or use it inside WSL, whichever fits how you work. There's also vimtutor, a built-in interactive lesson: run that command and spend twenty minutes with it before Part 2 if you want a head start.
One last thing before we go. To quit Vim: press Escape, then type :q! and hit Enter. That force-quits without saving. Write it on a sticky note if you need to. You won't need the sticky note for long — by the end of this series, quitting will be the least interesting thing you know how to do.
Jako Heiberg
Software developer with 40+ years of building things that work. Full-stack, FastAPI, React. Based in Cape Town, working remotely, worldwide.