〜 aravind

Vim: One Grammar, Every Tool

Here's the thing nobody tells you: you don't have to go cold turkey.

When I gave that presentation, I was still using an IDE — Eclipse, with a plugin called Vrapper. It gave me Vim keybindings inside Eclipse. That's it. Same environment, same debugger, same project tree. Just the muscle memory, quietly building.

It felt like a cheat. It wasn't. It was the right move.

The IDE gave me a safety net. I could still click things if my brain short-circuited. But every time I reached for the mouse, I asked myself: is there a Vim way to do this? And slowly, there was.


The four phases

Phase 1 — Plugin in the IDE. Vrapper for Eclipse, IdeaVim for IntelliJ, the Vim extension for VS Code. Turn it on. Keep using the IDE exactly as before. Don't force anything.

Phase 2 — Terminal Vim for small things. Quick edits on config files, a commit message, a note. You're not living in Vim yet, but you're visiting. The context switch costs less each time.

Phase 3 — Vim for a whole session. One morning you open a file in Vim instead of the IDE. You stay there for an hour. It works. You do it again the next day.

Phase 4 — The IDE starts feeling wrong. This is when you know. You open VS Code for something, instinctively press dd to delete a line, and it types dd into your code. You grimace. You close it.

I didn't plan any of this. It just happened, gradually, over months.

The IDE plugin is not training wheels. It's the on-ramp. Use it for as long as you need. The point is to build the grammar into your fingers — where you do it matters less than doing it repeatedly.


Everywhere, eventually

At some point I stopped thinking of Vim as a terminal editor and started thinking of it as a mode of interacting with text — and then I started finding it everywhere.

VS Code — the Vim extension is solid. Good enough that I used it for a long time before moving fully to Neovim. Great on-ramp if you're already in VS Code.

Obsidian — has a Vim mode built in. Toggle it on in settings. Your notes, your daily journal, your project pages — all navigable with the same keys. hjkl through a linked note graph felt absurd the first time. Now it feels obvious.

Once the grammar is in your hands, you start looking for it everywhere. And you keep finding it.

Next: the last place I expected Vim to follow me.

alert("Success! JavaScript is working on your blog.");