The VS Code Problem
So as with most programmers, I started with VS Code. It’s worked. Buuuut, I slowly got sick of some quirks of the IDE:
- Getting AI agents shoved in my face
- Slow start up times
- Too many UI elements
- New version pop-ups
- Pop-ups in general
In all fairness, most of these can be resolved within the IDE. And I do still use VS Code occasionally. However, this was enough to start my quest for the perfect text editor.
The Vim Problem
In my very first university programming class, my tutors restricted us to only using Vim. At first, me and all my other classmates hated this. No clicking around. No buttons. No code completion.
However, it soon became fun. Typing a file with no syntax errors became an accomplishment. Learning new key-strokes became a skill. And overall, I became a natural at making small edits to files.
Buuuut, Vim’s shortcomings started to arise:
- Not enough colour 😔
- Limited customisation
- Bad with larger projects
- Constantly need to exit for terminal
The Neovim Problem
Neovim solved a lot of my problems with Vim. To be honest, I mainly just wanted to install some colourful themes.
At this stage, I was very proficient at editing and navigating small files.
Buuuut, raw Neovim couldn’t hold up because of:
- Difficulty navigating large projects
- No autocomplete (for OOP)
- Friction in traversing files across directories
- Limited customisation
The AstroNvim Solution
AstroNvim is a popular configuration for NeoVim. Basically, it’s Neovim with a bunch of cool plugins and extra features. I went for AstroNvim for it’s focus on aesthetics, but any popular config will have similar features.
AstroNvim was just right for me. It combines the lightweight experience of Vim with the context and control of VS Code. To say it simply: I now get to make quick edits and jump around files/directories when needed. Along with various other features such as: a sidebar, autocomplete, buffer navigation and Git integration. Perfect.
Was it even worth it?
Learning Vim commands, configuring plugins and mastering key-strokes all takes a LOT of time. So it’s valid to ask, is it even worth spending all this time to optimise code editing?
Although there was a steep learning curve, I would say I’m overall a lot faster at editing code. Additionally, it’s a lot more fun and satisfying to use a keyboard only editor, like Neovim. And on top of that, not relying on fancy IDE’s did make me a more well-rounded programmer.
Should you do the same?
If you have the same pain points and needs as I do, trying any popular Neovim config would be a worthwhile venture, in my opinion.
But of course, you can still have a wonderful programming career without ever touching anything other than VS Code or your IDE of choice.
(P.S, I’d recommend avoiding Cursor and other AI agents if you’re trying to improve your coding skills 🫤)