StackOverflow results are out (2023) and once again #vscode is the most popular editor in the neighbourhood.
But Vim and especially Neovim seem to gain some traction the last years. Especially Neovim jumping from the 16th place in 2022 to the 10th place in the 2023.
What exactly is Neovim though? Neovim is a fork of Vim, which is attempts to streamline contributions and simplify the process of writing extensions.
So why opt in for an editor, which upon launch, greets you with a empty screen that you cannot even write anything without switching to insert mode.
The most obvious reasons are
- customisation
- fast and lightweight
- environment agnostic/portable
- vim compatibility
Customisation is hard to describe, best understood through firsthand experience. It bears some high level similarities with the vscode plugin model. Notably there is no central store for publishing plugins, but rather github assumes that role.
All it takes to add a Plugin is configure a Plugin manager (i.e packer, vim-plug, etc) and providing a relative path to a github repository.
Then depending on the plugin, you can either provide options, or even writing custom code to alter it's default behaviour.
Fast and lightweight is easier to describe, Neovim handles jobs in a non blocking manner, which means the main TUI remains unobstructed and responsive.
Environment agnostic/portable - Works in Windows, Linux, Mac without needing a GUI.
Vim compatibility - This is only relevant for people that work in remote linux servers/environments or sometimes containers. vim is always there, and knowing neovim will allow you to efficiently use vim, if you ever require an editor.
Obviously it's not all sunshine and roses.
- Customising the look and feel of Neovim takes time, patience and a lot of experimentation
- A lot of shortcuts to learn and a lot of shortcuts to customise
For me, experimentation and customisation is an ongoing process, However most neovim users reach a point of satisfaction after a few weeks.