vim -> neovim

neovim is improved vim

I've finally made the move after being introduced to vim back in at the Univeristy of Kentucky (Go Big Blue!) in the last millennium.

Sluggishness is my pet peeve and was the motivation for moving because vim loaded with all my plugin's was painfully slow on some of my 10k+ lines of source files that I had to work on and tabnine AI completion support was depreciated.

Another reluctance was not knowing the effort involved in supporting my plugins and language servers that I relied on which had become ingrained. I had no clue what updates would I need to make to my current .vimrc to work.

However, I got it mostly running in a little over an hour with minor tweaks to my original .vimrc (still using vimscript) and moving to Plug manager which was used in the example I followed.

It's night and day faster with no discernible lag for the huge files I was seeing previously with mostly everything working as it was before (the git blame pop script complains with an unknown function error). See the recommendations for some nifty new things.

Steps involved:

  1. cp init.vim ->$HOME/.config/nvim/init.vim allowing use of your current vimscript .vimrc

  2. Install Plug Plugin manager

  3. Inject any lua related config (LS/tabnine) in your .vimrc block as

lua << EOF
...
EOF
  1. Install your plugin's via nvim +PlugInstall +qall

  2. update your aliases alias vim=nvim alias vi=nvim

And that's pretty much it. I hope this helps. Onwards and upwards.

Recommendations:

  • run :checkhealth in nvim command and fix issues

  • mason to manage nvim package which manages language servers

Future improvements:

I plan on porting my .vimrc to lua, so keep tabs on it.