What Is Neovim And How To Install It With Python Support

at in tutorials

What is Neovim

Neovim is a refactored Vim. The highly flexible and ultra powerful editor that’s being around for more than 30 years!

It aims to be the future of Vim, relying on the rock-solid principles and foundation of the editor, Neovim adds a dynamic development flow, enabling more developers to contribute by removing entry barriers.

Why Neovim

Vim developers community is well known to be not very welcoming to changes, the codebase bloated over the years, let’s say is not in the best shape possible, the plugins API is poor and confusing on top of that Bram Moolenaar is often criticized for his ways of conducting the project.

Because of all that the improvements are rather slow, and drastic changes impossible.

Then comes Neovim, a fork with a 30% smaller and heavily refactored codebase, with clear and practical rules for applying changes, a hugely improved tests coverage, and a much more receptive community.

With a new plugin architecture asynchronous out of the box, the removal of platform-specific code, migration to a CMake-based build, and many other structural changes paved it’s way to a more stable and future proof project.


Their installation instructions are spot on, they present many ways to install in various OSs.

I personally prefer to use the Appimage method.

curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage
chmod u+x nvim.appimage

Python Provider

A lot of awesome plugins like VDebug and NeoSnippet require Python provider support.

Firt check your installation:

nvim +checkhealth

It will present you an overview of the Neovim status and in the section health#provider#check you will see the extra providers status when they are ok they look like this:

## Python 3 provider (optional)
  - INFO: `g:python3_host_prog` is not set.  Searching for python3 in the environment.
  - INFO: Executable: /usr/bin/python3
  - INFO: Python3 version: 3.6.5
  - INFO: python3-neovim version: 0.2.6
  - OK: Latest python3-neovim is installed: 0.2.6

Usually, it provides you straightforward information about what is going on and what exactly is wrong. The most common situations are that the provider is not installed or is outdated.

The Python support is provided via Python 2 and 3 package manager or pip.

To install it:

pip install neovim && \
pip3 install neovim 

To update it:

pip install neovim --upgrade && \
pip3 install neovim --upgrade

Run :checkhealth again, everything should be ok now.

Now you have Neovim installed with Python provider support enabled.

See Also