Vim DistributionsLast modified January 21, 2024
For awhile now I’ve been using neovim as my commandline editor. In the beginning, it worked great for doing quick edits and creating simple scripts when I didn’t want to spend the extra startup time and context-switching on a full GUI editor (although vscodium is very good).
After getting more familiar with the vim way of doing things, I also wanted to turn it into a more IDE-like experience and use it for more complex tasks.
There’s already tons of awesome plugins but managing the installation and setup of them by hand wasn’t something I was interested in, so I looked into neovim configuration distributions.
So I tried out the following:
- LunarVim which seemed to always come up in threads for a good “batteries-included” setup that you can just run the setup command and go with.
- NvChad which had some interesting claims about performance and UI plugins to create a lean and good-looking setup.
- LazyVim with a focus on being easy to extend and customize.
- AstroNvim being extensible and feature-rich.
LunarVim didn’t click with me really, no issue with it particularly I just didn’t connect with it as well as the others I tried to I never went back ot it and attempted to keep using it until I pushed past that feeling.
NvChad was pretty good, but kept pushing breaking changes between releases and I eventually wanted to test out some others and took the opportunity during one such breakage.
LazyVim I like quite a bit, the defaults were good and I felt it was easy to understand and extend the config if I wanted to modify some settings or add a non-default plugin. Also I believe was the first to use the lazy.nvim package manager so felt very snappy and easy to install and upgrade packages.
In the end though, I settled on AstroNvim. In recent releases, it started using
lazy.nvim as well bringing all those benefits, had good defaults, and felt like it was a good balance of “batteries-included” but easy to pick and choose and extend as needed.
A killer feature I enjoy about it is the collection of community-contributed package and config groups in the astrocommunity repo. With these, if something isn’t supported by default you can almost always find it in here and with a couple lines of drop-in lua config have some new features.
So for now I’m sticking with Astronvim. I encourage people to give a vim distribution a shot, sometimes it’s too much and people want the simpler vim experience, but for myself I like the almost effortless ability to have a real IDE-like experience right in the terminal that can even compete with the larger, slower GUI applications.
It’s worth noting too that I haven’t tried the other ones in awhile, so there are definitely updates that have been made to them that make it worth a shot to try those out if Astronvim doesn’t stick!