My friend Krish recently inspired me to explore ways to optimize productivity. I, like him, went into another rabbithole of customization. However, I want to prioritize sustainability and actually using my tools so from now on I’d like to apply a just-in-time-learning principle. But in this case, I guess I’d have to rename it to just in time implementation. As in, I will iterate my workflow based on if I don’t or do need something.
Neovim is a text editor. It’s different from an integrated-development-environment like VSCode because it is a modal editor - where there are two primary modes: 1. insert mode (where you can type text into the editor) and 2. normal mode (central hub for navigation, manipulation, command execution, etc). Vim Clutch is an hardware project that shows this in action clearly - it’s a pedal that toggles “insert” mode when pressed down.
Vim → stands for “Vi, improved (Vi is another text editor)” → Neovim is a forked version of Vim that is modern (better features) and has a faster release cycle
But why the switch? neovim has very good performance, but needs to be configured (through a programming language called Lua)
“NeoVim hums along, indexing files with the efficiency of a caffeinated librarian”
On the other hand, VSCode comes pretty much preconfigured with all you need and can be used right out the box. I prioritize full customization abilities + efficiency (in the long run). I also predict that neovim will be VERY satisfying to use.
Also, neovim is fully open-source, with it’s GitHub repo here. I like their focus on extensibility and community-driven development. In VSCode’s case, many of the marketplace plugins are proprietary (sad face).
Eventually will follow following LazyVim for Ambitious Developers, but as of Aug 5, 2025 at 10:27 PM, I am installing the Vim plugin to VSCode to get a sense of how it works - and if I enjoy it, I’ll migrate over to NeoVim
More reading