NVIM
VS CODE
Neovim in 2025: Still My Daily Driver
I understand, every time I mention Neovim, someone asks the question of "why torture yourself" or recommends switching to VS Code like everyone else. After another year of working on development, I have become increasingly convinced that nvim is not only not stagnating, but that it is actually improving while others have reached their ceiling.
VS Code is Fine, But...
Don't get me wrong, VS Code is a solid editor. Microsoft did a good job making it approachable, and the extension ecosystem is massive. I used it for about two years before switching back to nvim full-time. The IntelliSense is decent, the debugging integration works well enough, and getting started is basically zero friction.
But here's the thing: after the honeymoon period, VS Code starts to feel... heavy. Not just the 500MB+ memory usage (though that's annoying), but heavy in terms of workflow. Everything requires clicking through menus or remembering yet another Ctrl+Shift+Something combination. And don't even get me started on how it handles large files. I was trying to grep through some logs last month and VS Code just gave up after 30 seconds.
The Speed Thing Actually Matters
I know performance arguments can sound nitpicky, but when you're opening and closing files dozens of times a day, that extra second VS Code takes to load actually adds up. Nvim just... appears. Instantly. Even on my aging laptop from 2019.
More importantly though, once you get comfortable with vim motions, the speed of editing itself is just different. I can refactor a function, fix indentation, and navigate to another file before my VS Code-using colleague has finished selecting text with their mouse. It's not about showing off—it's about staying in flow state.
Copilot Actually Works Great in Nvim
This was honestly my biggest concern when I switched back. I'd gotten used to Copilot's suggestions in VS Code and wasn't sure if giving that up was worth it. Turns out the copilot.vim plugin is actually really good.
Setup was straightforward: I use vim-plug as my plugin manager, so it was just adding Plug 'github/copilot.vim'
to my config and running :PlugInstall
. After that, :Copilot setup handles the GitHub authentication.
The autocomplete is smart about understanding my coding style too. After a few weeks, it started suggesting variable names that match my naming conventions and even picked up on some project-specific patterns. Pretty impressive for something running in a "dinosaur" editor.
LSP Changed Everything
The biggest game-changer for nvim in recent years has been LSP (Language Server Protocol) support. This eliminated the main advantage VS Code had: intelligent code analysis. Now I get the same hover docs, go-to-definition, error squiggles, and refactoring tools, but without the Electron overhead.
Setting up LSP servers for different languages is straightforward with nvim-lspconfig. My TypeScript, Python, and Rust development experience is honestly better than what I had in VS Code because everything integrates with vim motions. I can jump to a definition with gd
, make changes using text objects like ci(
(change inside parentheses), and jump back with Ctrl+o
. Try doing that workflow efficiently in VS Code.
Customization That Actually Matters
VS Code has themes and extensions, sure. But nvim customization goes deeper. My config is essentially a programming language (Lua) that shapes the editor to my exact workflow. I have custom functions that do things like:
- Automatically format and save files when I switch buffers
- Smart tab completion that prioritizes LSP suggestions over generic word completion
- Custom motions for navigating through our codebase's specific structure
- Keybindings that change based on file type
None of this would be possible in VS Code without writing a full extension.
Remote Work Made It Even Better
Working remotely has actually strengthened my appreciation for nvim. While my teammates struggle with VS Code's remote development extensions (which are honestly pretty good when they work), I just SSH into our dev servers and work exactly like I do locally. No extensions to install, no connection timeouts, no weird lag.
The Learning Curve Is Real (But Worth It)
I'm not going to pretend nvim is easy to learn. It took me probably a month of daily use before I stopped reaching for the mouse, and another month before I was faster than I'd been in VS Code. The learning curve is front-loaded and steep.
But here's what nobody tells you: you never stop getting better. Even now, I occasionally discover some combination of commands that makes a routine task faster.
Why I'm Sticking With It
As we get deeper into 2025, I see a lot of editors trying to add AI features, better performance, more customization.In the mean time, nvim has all that, and rebooted it with a fundamentally better editing model and 30+ years of proven resilency.
Don't get me wrong. If you are happy with VS Code, keep it. But if you have ever felt like your editor was slowing you down, or been somewhere down the zigzag of despair to the contagious curiosity of vim, maybe you should seriously try nvim, just don't expect to be productive during the first few weeks.
The payoff is substantial. There is something satisfying about using a tool that truly gets out of the way, that lets you think about code, we are so good at fighting our editor instead. Perhaps in an age of souped up, obfuscated, complexity and unrelenting chaining of tooling, a bit of simplicity feels revolutionary.`