This is my third attempt at learning Vim properly. The first time was in college, motivated by watching a classmate edit code at what seemed like superhuman speed. The second time was five years ago, convinced that “real programmers” use Vim.
Both attempts failed spectacularly.
This time feels different. Maybe it’s because I’m older and more patient. Maybe it’s because I finally understand that mastery isn’t about memorizing every keybinding, but about building muscle memory slowly, deliberately.
I’m starting with just the basics: h
, j
, k
, l
for movement. i
to insert. :w
to save. :q
to quit. That’s it. No plugins, no custom configurations, no attempts to turn Vim into an IDE.
The temptation to install VS Code is real. Multiple times a day, I catch myself reaching for the mouse or getting frustrated with modal editing. But I persist.
There’s something beautiful about an editor that’s been around for decades, virtually unchanged. In a world of constant updates and breaking changes, Vim is reliable. Stable. Present on every Unix system I’ve ever touched.
Week three now, and the movements are starting to feel natural. I can navigate a file without thinking about it. Delete lines, copy text, search and replace—all from the keyboard.
I’m not fast yet. I’m probably slower than I was in VS Code. But there’s a rhythm to it now, a flow that I’m starting to understand.
Maybe the fourth time will be the charm.