This week I decided to migrate to neovim, and give it a chance after a recommendation and some discussions about the future of vim text editor.
If you have a question about if you need to start using neovim I pretty recommend that you search on the internet and make your own decision. You can start by reading the following things:
The first thing that I loved is the facility on download, at the official repository they provide a lot of good options for each OS, for Linux, an
appimage file and that is awesome, for who doesn’t know it is like MAC OS applications file, for MAC OS you can download using brew and for windows you can download using chocolatey.
You can download neovim in the following two sites:
As I described I choose the
appimage, so I just downloaded and moved it to
/usr/local/bin and all works fine, now just type
nvim and it will open.
Using the same setup of vim
The next question of everybody is probably “Ok, but I’ll need to configure everything again? All my plugins?” and the answer is No, you won’t.
If you’re coming from vim like me, you can simply type
:help nvim-from-vim and follow the instructions, simplifying is just create a file
~/.config/nvim/init.vim that will be like your
.vimrc, you’ll paste all your custom config at this file.
If you’re a simple guy and just want to use your nvim in the same way as you use your vim, just paste the following commands at your
init.vim that you created.
set runtimepath^=~/.vim runtimepath+=~/.vim/after let &packpath = &runtimepath source ~/.vimrc
It will route your nvim config to your previous vim setup, but it’s important to know that some plugins may not work, nvim isn’t entirely compatible with vim, but almost all plugins work on nvim too, with me, all plugins worked fine.
Different setup for nvim
For a lot of people the previous solution will be satisfying, but for me no. I want to stop using vim, so the previous solution doesn’t solve my problem, I want to have my own nvim setup. Luckily it’s easy too, on vim I use
vim-pathogen to manage my plugins, so all my plugins are located at
~/.vim/bundle/, I just need to make a copy of this folder but on my nvim directory.
cp -r ~/.vim/bundle ~/.config/nvim/bundle/
And do the same with the
cp ~/.vim/.vimrc ~/.config/nvim/init.vim
Now, if I want to modify something, I just need to modify on
init.vim as you want, or install plugins at
Repository with nvim files
I like to create a Github repo to store my configs, so I just started a git repo at
~/.config/nvim and pushed it, you can find my nvim setup here.
You could find my vim files here but now with neovim, it’s deprecated.
Neovim has some differences from vim, you can check it by typing
:help vim-differences, but the major features (copying from the vim-differences output) is:
- Lua scripting
- Job control
- Remote plugins
- Node.js plugins
- Python plugins
- Ruby plugins
- Shared data
- Embedded terminal
- VimL parser
- XDG base directories
But I pretty recommend that you read the full documentation at
Nvim has some plugins that take advantage of specific nvim features, you can check it here.
It wasn’t a very long post, and it’s purposeful, I don’t have much to talk about neovim yet, the objective of this post It only talks about how I migrate from vim to neovim. On next weeks I’ll write about my plugins and describing some tricks of my vim/nvim configs.
If you have any questions that I can help you with, please ask! Send an email (firstname.lastname@example.org), pm me on my Twitter or comment on this post!
Follow my blog to get notified every new post: