Why I switched from VSCode to Neovim

posted 3 min read

Why I Switched from VSCode to Neovim

Developers switch their code editors for all kinds of reasons. In my case, the journey started with VSCode, but even then, I was already using Vim keybindings. I had been familiar with Vim for some time, and the plugin for VSCode seemed “good enough” until it wasn’t.

The Limits of Vim in VSCode

The first cracks began to show when I realized that although VSCode’s Vim plugin supported a decent portion of Vim’s functionality, it wasn’t the full experience. Critical features, like macros, were either missing or incomplete. For someone who heavily relies on Vim’s modal editing philosophy, this limitation quickly became frustrating.

On top of that, I never really liked VSCode’s user interface. To me, it always felt bloated and, frankly, ugly. The search feature didn’t click with me, the default keybindings were unintuitive, and perhaps worst of all, VSCode’s performance lagged behind. It felt sluggish compared to what I knew was possible.

Enter Neovim

So, I made the switch to Neovim and I never looked back.

The first thing I noticed was speed. Neovim is lightweight and fast, even with a custom setup. Then came the customizability. Unlike VSCode, Neovim doesn’t impose a UI or workflow on you. You get to build your own environment from the ground up, tailored exactly to how you want to work.

Pairing Neovim with tmux only amplified this productivity boost. Navigating, splitting, and managing terminals became second nature and far quicker than what I had in VSCode.

But… It’s Not for Everyone

That said, I wouldn’t recommend Neovim to everyone. If you don’t have specific needs or if you don’t want to spend time tweaking your editor, Helix might be a far better choice. It offers modal editing and good defaults without requiring you to sink hours into configuration.

Neovim, on the other hand, shines for people like me those who are willing to dedicate time to fine-tune their setup. It’s not an “out-of-the-box” experience. You’ll likely need weeks, maybe a month, to really mold it into your perfect editor. But once you do, the payoff is huge.

My Personal Touches

My move wasn’t just about using Neovim “as is.” I even ported one of my VSCode plugins, depramanager, into a Neovim version. Later, through my tool gumpakt, I built a Metal LSP server, making Neovim even more powerful for my workflow now I am even writing a kind of debugging helper to help in well debugging.

These projects highlight the beauty of Neovim: it grows with you. The more you invest into it, the more it returns in flexibility and performance.

Falling Into the Ricing Rabbit Hole

Eventually, switching editors wasn’t enough I fell into the i3 ricing and optimization rabbit hole. I started experimenting with tiling window managers, inspired by i3 on Linux but adapted for macOS, amethyst for example.

That’s when I discovered a whole ecosystem of tools that brought the same kind of minimalism and efficiency to my desktop environment that Neovim brought to editing:

  • SketchyBar – a powerful and customizable status bar replacement.
  • Tacky Borders – subtle window borders that make it easier to see focus and window splits.

Both are from the same developer, someone who’s been pushing the boundaries of what’s possible on macOS. These tools, combined with a tiling manager, transformed my workflow. Suddenly, macOS felt less like a polished but rigid environment and more like a customizable workspace tailored to me fast, minimal, and efficient.

In many ways, this mirrors my shift from VSCode to Neovim: trading convenience and defaults for control and performance.

Conclusion

Switching from VSCode to Neovim wasn’t just a change of tools it was a change of mindset.

  • VSCode offers convenience but at the cost of performance and flexibility.
  • Neovim offers raw speed and ultimate customizability, but only if you’re willing to put in the time.
  • For those who want a middle ground, Helix might just be the perfect balance.

And once I went down this path, it didn’t stop at my editor. From Neovim configs to window tiling managers, SketchyBar, and tacky borders, I built a system that fits me perfectly.

For me, Neovim (and the broader world of customization it introduced me to) was worth the investment. It’s not just about writing code anymore it’s about shaping the environment I work in every day.

If you read this far, tweet to the author to show them you care. Tweet a Thanks

I've been using Neovim for over 10 years and would not look back. I find building up an editor from the ground up that perfectly matches your needs extremely satisfying. For others out there wanted to jump onto the Neovim train but doesn't have the time right now to go down the plugin rabbit hole, or starting learning Lua, there are some pre-customised options worth checking out:

More Posts

VSCode vs IntelliJ: Where VSCode Still Struggles, and How to Push It Further

okerew - Jul 20

Setting Up Custom Instructions for GitHub Copilot

mariohhd - Aug 21

Why My First React App Was Ugly (and What I Did to Fix It)

gabrielokeke - Jul 14

Why does my Flutter music player jump from 0:00 to actual time? (One-liner fix inside!)

rahul mishra - Aug 8

WebChatForGemini : The VSCode Companion

Abdul Daim - May 2, 2024
chevron_left