The Stack Overflow Developer Survey data from 2024 and 2025 tells an interesting story. VS Code maintains its position as the most popular editor overall. But Neovim’s usage numbers have grown every year since 2020, and the growth is concentrated among engineers with more than five years of experience.
This is not nostalgia for old tools. Senior engineers are switching from VS Code to Neovim because Neovim in 2025 is a genuinely different product than Vim in 2010. It is worth understanding what changed and why experienced engineers find it compelling.
What Neovim Actually Is in 2025
Neovim started as a cleanup and modernization of Vim’s codebase. The key architectural differences that matter:
Lua as the configuration language. Vim used Vimscript, a purpose-built configuration language with bizarre semantics. Neovim replaced it with Lua - a real programming language that is fast, has actual tooling, and behaves predictably.
Built-in LSP client. Language Server Protocol support is first-class in Neovim. You get go-to-definition, hover documentation, diagnostics, code actions, and rename refactoring via LSP without a plugin. The same language servers that power VS Code work with Neovim.
Tree-sitter integration. Neovim uses tree-sitter for syntax highlighting and code understanding. This gives accurate, context-aware syntax highlighting that outperforms regex-based approaches - even for complex nested structures.
Async architecture. Neovim processes everything asynchronously. The editor never blocks on a language server call or a file system operation. This is a property that VS Code also has, but Neovim’s simpler process model makes it more consistent.
The Performance Gap
The numbers are stark.
| Metric | VS Code | Neovim |
|---|---|---|
| Startup time (cold) | 1-3 seconds | 50-150ms |
| Memory usage (idle) | 400-800 MB | 40-80 MB |
| Memory per open file | ~10-20 MB | ~1-2 MB |
| CPU at idle | Noticeable | Near zero |
VS Code runs on Electron, which bundles a full Chromium browser instance to render its UI. This is the source of the performance gap. The Electron approach enables a rich, cross-platform UI without native code, but it costs CPU and RAM.
For most developers on modern hardware, the VS Code memory and CPU usage is not a practical problem. For developers working on slower machines, working over SSH, or working with very large codebases, the gap becomes more significant.
The startup time difference is felt daily. Opening Neovim is instant. Opening VS Code takes a moment. On its own this is minor. Multiplied by hundreds of editor openings per week, it becomes a small but persistent friction point.
The Modal Editing Question
The biggest barrier to Neovim adoption is modal editing. Neovim inherits Vim’s modal interface: you are either in Normal mode (navigating and editing with keyboard commands) or Insert mode (typing text), along with Visual, Command, and other modes.
This feels alien for the first week. It feels inefficient for the second week. For many developers, it clicks somewhere around week three or four, and after that, using a non-modal editor feels like constantly reaching for a mouse that should not need to be reached for.
The efficiency gains are not theoretical. Operations that require multiple keystrokes and mouse movements in standard editors become single keyboard commands:
- Delete from cursor to end of line:
D - Delete the current word:
daw - Change inside parentheses:
ci( - Jump to the next occurrence of a character:
f<char> - Surround a selection with quotes:
yswith a plugin
Experienced Neovim users navigate codebases without lifting their hands from the keyboard. This is the actual productivity case for modal editing - not speed per keystroke, but reduced context switching between keyboard and mouse.
The Configuration Investment
The tradeoff is real: Neovim requires more upfront configuration investment than VS Code.
A typical production Neovim configuration includes:
- A plugin manager (lazy.nvim is standard)
- LSP configuration (mason.nvim for automatic server installation)
- Treesitter configuration
- A fuzzy finder (telescope.nvim or fzf-lua)
- A file explorer (neo-tree or oil.nvim)
- A statusline (lualine or similar)
- Completion (nvim-cmp)
- Git integration (gitsigns, fugitive)
This is not insurmountable. Distributions like LazyVim and AstroNvim provide opinionated pre-configured setups that work well out of the box. The customization surface is smaller than it appears if you start with a good default.
But it is still more work than installing VS Code and adding a few extensions. VS Code wins on immediate productivity for new users.
Why Senior Engineers Make the Switch
The pattern I see consistently: engineers switch to Neovim after they have invested enough time to become highly efficient in their current editor and start hitting its ceiling.
VS Code is excellent. Its language server support is excellent. Its debugger integration is excellent. Its ecosystem of extensions is enormous. But it has a performance ceiling and a customization ceiling. You cannot change how the editor fundamentally works. You cannot make it do something it was not designed to do.
Neovim is programmable at a deeper level. The entire editor is configurable through Lua. You can add custom operators, custom text objects, custom motions, custom UI components. Senior engineers who invest in this level of customization get an editor that fits their workflow rather than a workflow that fits the editor.
The Honest Recommendation
Neovim is worth learning if you plan to invest 20-40 hours upfront and are willing to accept reduced productivity for the first few weeks. The efficiency gains are real but not universally worth the investment cost.
VS Code is the correct choice if you want to maximize immediate productivity, if your team uses VS Code specific features heavily, or if you spend significant time in the VS Code debugger.
The false framing is that one is objectively better. They are optimized for different things. Neovim optimizes for keyboard-centric workflows, long-term customization, and performance. VS Code optimizes for out-of-the-box productivity, ecosystem breadth, and GUI-centric workflows.
Bottom Line
Neovim is growing among senior engineers because Lua configuration, built-in LSP, Tree-sitter, and a significantly smaller resource footprint make it a genuinely competitive professional tool - not just a hobby for terminal enthusiasts. The modal editing model has a real learning cost and real long-term efficiency benefits. If you have been curious but put it off, 2025 Neovim with LazyVim is the most accessible entry point yet. If VS Code is working well for you, it will keep working well.
Comments