I've been using Neovim for about two months now and thought I'd share some thoughts about my experience and current setup, as well as addressing the questions I get asked about it most.

Why switch in the first place?

I've had a few failed attempts at making the leap over the years, but I've always been drawn to keyboard shortcuts and, frankly, the satisfaction of a mechanical keyboard. I still remember hearing one for the first time in our Leeds office—a developer had brought theirs in. I wasn't interested in gaming performance or RGB lighting. I just loved the sound. The more I could make my keyboard do, the more I enjoyed my work setup.

But don't IDEs like VSCode already have key mappings?

They do, and I spent time learning the ones that genuinely improved my productivity. That said, my current Neovim usage is around 50% (split between Cursor and VSCode for the rest) as I'm still ramping up. Things like search filtering, multi-select editing, and breakpoint debugging concepts haven't stuck yet. It's a gradual progression.

How did you actually get here?

I noticed increasing bloat in modern IDEs, most of which feature I'd never use, combined with noticeable memory consumption across projects. After years in Visual Studio/VSCode, I started thinking about efficiency differently. When you're learning fundamentals, IDE shortcuts don't matter. But once you're thinking about systems design and broader feature delivery, there's real value in a terminal-based editor that works anywhere, especially in deployed containers.

I was also concerned about IDEs like Cursor angling users away from their codebase. Agent mode is useful, but I didn't want to erode my exposure to code. If I'm outsourcing the thinking, I lose something important as an engineer.

The learning path mattered though. Vim Adventures—with its Pokémon-adjacent gaming environment—got me from 0 to maybe 33%. It's not going to unlock everything you'd expect from a full editor, but the vim extension in VSCode kept the knowledge fresh during my transition. I also leaned on Claude as a teacher, alongside Reddit, GitHub issues, and the docs.

The biggest conceptual hurdle is understanding the separation of concerns: normal mode, visual mode, insert mode. Once that clicks, the rest follows.

Has it actually made you faster?

Writing code isn't the bottleneck in software engineering—design is. I don't think I'm faster or slower, but I genuinely enjoy sticking to a single application. My machine appreciates the memory savings too.

So what's your current setup?

I've kept it relatively vanilla for transferability, but adopted a few high-value plugins that help me onboard faster:

I haven't moved to tmux yet—Ghostty handles window management outside Neovim, and I use caffeine for keeping the machine awake. That's probably next as I reduce my VSCode usage further.

Would you recommend it?

If you already use keyboard shortcuts, don't want to carry a mouse, and want to save memory, it's a worthwhile path. Just know that it shows commitment, not competence. It doesn't make you a better engineer.