Yet Another Neovim Setup Article

Clay Ratliff
8 min readNov 14, 2023
Photo by Ilya Pavlov on Unsplash

Why do we need to keep revisiting this?

The short answer is we don’t.

The long answer is a bit more personal. While I don’t work as a developer anymore, I do still have to work with code occasionally, and I still, for whatever reason, enjoy tinkering with my tools. I find that talking about and tinkering with CLI tools is a lot of fun, and one of my favorite tools is Neovim. Every now and then I’ll re-evaluate my setup and try to improve on my previous config by setting up a new one from scratch, keeping what I felt worked well in the previous setup, and adding new things that I think will either improve on tools I already use or which will streamline a workflow that I didn’t previously have. And yes, believe it or not, as your career advances your workflow will also continue to change. Yet another reason occasional re-evaluation is a good thing.

To potentially save people some time, I want to mention that this article is not intended for people new to Vim or NeoVim. I assume that you have some previous knowledge of vim/vim and either have experience with Lua or, at the least, no aversion to it.

Neovim vs Vim

I wanted to get this out of the way real quick because there will probably be some confusion if you’re not familiar with the history. Neovim is a fork of Vim that has several notable improvements. The core functionality is compatible with Vim, e.g., if you aliased a bare version of vim with a bare version nvim, a user opening the editor would never realize they were using NeoVim.

The notable improvements mentioned above are based on aggressive refactoring giving the following benefits:

  • Overall performance improvements
  • Using the XDG Base Directory standard for configuration instead of hardcoded directories
  • A more sophisticated plugin API that allows the use of RPC calls and Lua for plugin creation and scripting (Vimscript v1 is also supported)
  • Native support of LSP
  • Support for asynchronous I/O

I switched between the two editors without much thought for years but decided to finally commit to Nvim in June of 2022 when the decision was made to essentially…

--

--

Clay Ratliff

Looking for our dreams in the second half of our lives as a novice sailors as we learn to live on our floating home SV Fearless https://svfearless.substack.com/