This is my personal NeoVim configuration, built according to my personal preferences, without any justification to think it's the best possible vim configuration. If you like it, great! :) It's mainly oriented to python software development, but many of its features are useful for other languages and editing tasks.

Not using Neovim? Try it! It's stable enough, and has some advantages over the classic vim.

Some of the best features (full list here):

[Old gif from the original vim config, need to do a new one with NeoVim]

Demo

Install | Upgrade

0) You will need NeoVim. For Ubuntu 16.04 users, this is enough:

sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim

For other linux distros or Ubuntu versions, I suggest you get a stable NeoVim (you may need to compile it), which is currently v2.0.

More info here.

Also, your .config/nvim folder should be empty. If you have one, rename it or move to a different location (to keep a backup, just in case you want to go back).

1) Install the required dependencies:

sudo apt-get install python-dev python-pip python3-dev python3-pip curl vim exuberant-ctags git ack-grep
sudo pip install neovim pep8 flake8 pyflakes pylint isort
sudo pip3 install neovim pep8 flake8 pyflakes pylint isort

2) Download the init.vim file and place it under ~/.config/nvim/.

3) Open NeoVim (nvim command) and it will continue the installation by itself. Wait for it to finish... and done! You now have your new shiny powerful NeoVim :)

Optional: If you want fancy symbols and breadcrumbs on your status line, check this small tutorial.

Docker: Federico Gonzalez (FedeG) made a docker image which runs vim with this config inside, you can find it here or in docker hub.

If you come from an older version of fisa-nvim-config and want to upgrade it to the latest release, follow these steps:

1) Dowload the new version of the init.vim file and replace the old one you have.

2) Install the dependencies listed in the install section.

3) Open NeoVim and run:

:PlugClean 
:PlugInstall
:PlugUpdate
:UpdateRemotePlugins

This will remove plugins no longer used, install any new plugins, and update the existing ones to the last versions. It can be useful to look at the changelog.