I used VSCode from the beginning of my career — for about 4 to 5 years. It had everything I needed: themes, a polished GUI, and a vast extension ecosystem. But over time, it started to feel... slow and clunky. I found myself wanting more control, less bloat, and something more lightweight — maybe even a bit more experimental than VSCode. That’s when NeoVim entered the picture. At the same time, I had also been using Linux (Fedora with the i3 window manager) for a while, which naturally pushed me toward more minimal, keyboard-driven tools.
At first, I dismissed it. Terminal based? Vim Keybindings? Manual plugin setup? I was scared. But after watching a few videos and references, I decided to give it a shot. What followed was a week-long rabbit hole of configuration, key mapping, plugin exploration — and eventually, a workflow that made VSCode feel sluggish and noisy in comparison.
What Made Me Switch
Here’s what drew me in:
⚡ Speed: NeoVim launches almost instantly. No Electron overhead, no lags.
⌨️ Modal editing: At first weird, but now addictive. I rarely touch my mouse anymore.
🔌 Full control: With Lua-based configs and plugin managers like Lazy.nvim, I could tailor everything to my liking.
🎯 Focus: Working in the terminal eliminated distractions. It’s just me and the code.
It felt like i was superior and god with some divine power.
My tmux and Neovim Setup:
Plugin Manager: Lazy.nvim — fast and declarative.
Theme & UI: Catppuccin
lualine.nvim for a clean, themed statusline.
bufferline.nvim to navigate between open files easily.
neo-tree.nvim as my file explorer with icons, git status, and fuzzy finding.
Telescope for everything else — searching files, buffers, and more.
mason.nvim to manage language servers and formatters.
nvim-lspconfig for TypeScript, Lua, and more.
none-ls (formerly null-ls) to run formatters like prettier and linters like eslint_d.
Some of the Performance Changes that i Noticed over VsCode.
Feature | VSCode | NeoVim |
---|---|---|
Interface | Graphical, mouse-driven | Terminal-based, keyboard-first |
Performance | Can be slow and resource-heavy | Lightweight and extremely fast |
Customization | Limited to GUI settings and JSON configs | Fully scriptable and deeply customizable via Lua |
Plugin Ecosystem | Easy one-click installs via Marketplace | More control, but manual setup via GitHub plugins |
Editing Workflow | Traditional typing with optional Vim extension | Native modal editing for speed and precision |
Learning Curve | Beginner-friendly, works out of the box | Steep at first, but highly rewarding |
Resources That Helped Me
If you’re curious, here’s what helped me dive in:
Github Library: https://github.com/nvim-lua/kickstart.nvim
LazyVim: https://www.lazyvim.org/
Youtube: https://www.youtube.com/watch?v=m8C0Cq9Uv9o&t=516s
Conclusion
Switching to NeoVim felt like stepping out of my comfort zone — and into complete control. I don’t think everyone needs to make the switch, but if you’re frustrated with the performance or limitations of VSCode, NeoVim is worth exploring. It's lean, powerful, and once you get used to modal editing, it’s genuinely hard to go back.
Have you tried NeoVim or thinking of switching? I’d love to hear your experience in the comments!
If you liked this post, follow me on Dev.to, GitHub, or Linkedin — I’ll be sharing more tips as I go deeper into NeoVim and terminal-based dev workflows.
Top comments (1)
On discord