Neovim update checklist

Posted on Jun 1, 2020

Normally I use Neovim with vim-plug for plugin management. Typically this is installed on Linux / MacOS - however, using homebrew for any length of time always seems to leave me in some kind of dependency hell after multiple OS and brew updates.

This captures a few of the things I always end up doing, I’ll probably re-visit and update it over time.

General check

After updating, check general status with :checkhealth

Update plugins

If things are broken, we might as well update the installed plugins

cd ~/.vim/plugged
for d in *; do git pull; done

From vim, run :PlugInstall just to be sure

Python dependency

Normally brew has surreptitiously updated python and breaks the neovim dependency. :checkhealth will normally tell you what to do. This is normally installing the python neovim package

pip3 install pynvim

It may be already installed, if so it may just need updating

pip3 install --upgrade pynvim

For python2 support, you will need to install pip install pynvim

Deoplete update

Not having updated for a while, I came across a few issues with my configuration and deoplete. The first was not having the nvim python package installed, the other was with config

I had to update the deprecated call:

deoplete#custom#set -> deoplete#custom#source

The following configuration option is deprecated

g:deoplete#ignore_sources

It has been replaced by deoplete#custom#option, so config can be updated from:

"let g:deoplete#ignore_sources = {}
"let g:deoplete#ignore_sources._ = ['buffer', 'member', 'tag', 'file', 'neosnippet']

to:

call deoplete#custom#option('ignore_sources', {'_': ['buffer', 'member', 'tag', 'file', 'neosnippet']})