Install the package, or AUR for the latest development version, which strongly encourages the use of as its main configuration language. To make the system clipboard work with Neovim, you may need to install (X11) or (Wayland).
:help provider-clipboardneovim command.
- AUR or AUR
- AUR, AUR or AUR
Nvim's user-specific configuration file is located at
$XDG_CONFIG_HOME/nvim/init.vim, by default
~/.config/nvim/init.vim. The global configuration file is loaded from
$XDG_CONFIG_DIRS/nvim/sysinit.vim (by default
/etc/xdg/nvim/sysinit.vim) if it exists, or if it does not, from
/usr/share/nvim/sysinit.vim which should not be user-edited.  By default, the former global configuration file does not exist. If you create the former file, you may wish to have it source the latter if you still want the functionality it provides, which is allowing pacman-installed vim packages to work with Nvim.
Nvim is compatible with most of Vim's options, however there are options specific to Nvim. For a complete list of Nvim options, see Neovim's help file.
Nvim's data directory is located in
~/.local/share/nvim/ and contains swap for open files, the ShaDa (Shared Data) file, and the site directory for plugins.
Starting from Nvim's version 0.5, it is possible to setup Nvim via Lua, by default
~/.config/nvim/init.lua, the API is still young, but common configurations work out-of-the-box without much more steps. See  for suggestions on how to convert your current configuration. At the moment there is is not much of an advantage when using
init.lua vs the common
init.vim, but when correctly done, Lua provides a small improvement in startup times, and it becomes specially useful when using several plugins written in lua, due to ease of configuration.
Migrating from Vim
If you wish to migrate your existing Vim configuration to Nvim, simply copy your
~/.config/nvim/init.vim. If applicable, copy the contents of
$XDG_CONFIG_HOME/nvim instead of
~/.vim as its main configuration directory and
$XDG_CONFIG_HOME/nvim/init.vim instead of
~/.vimrc as its main configuration file.
If you wish to continue using Vim and wish to source your existing Vim configuration in Nvim, see nvim-from-vim or the
:help nvim-from-vim neovim command.
Vim/Nvim plugins installed from official repositories or AUR get automatically sourced by
/etc/xdg/nvim/sysinit.vim, so there is no need to take any extra steps. A vast amount of plugins can be found on both places, but the most recommended way to add plugins is by using a plugin manager, most commonly used are vim-plug which works for both Vim and Nvim, and packer which only works on Nvim 0.5 or newer and is written in lua. Both of them allow for expressive configurations, ranging from github branch to runtime commands.
Most plugins written for vim work without much effort on Nvim, but not every plugin written for Nvim works for Vim, so if your intention is to ensure a compatible configuration, stick to a traditional
Tips and tricks
Replacing vi and vim with neovim
$EDITOR environment variables should be sufficient in most cases.
Some applications may hardcode vi or vim as default editor, to use neovim in their place, installAUR or AUR.
As neovim is mostly compatible with standard vim, you can symlink
nvim/init.vim to your old
.vimrc to keep old configuration options:
$ ln -s ~/.vimrc ~/.config/nvim/init.vim
If you want some lines to be specific to each version, you can use an
if block in your
if has('nvim') " Neovim specific commands else " Standard vim specific commands endif
Adding true color support to neovim
READMEs of this project explain how to add 24-bits "True Color" support to your syntax highlighting and how to use a color picker to see how it looks in real-time. Comes with the syntax highlighting of the author (if installed) for C++.
Language Server Protocol
Language servers can be installed natively using the following packages:
|LSP config||Language||LSP server package|
|ccls||C, C++, Objective-C||AUR|
|cssls||CSS, LESS, SASS|
|sourcekit||C, C++, Objective-C||AUR|
Cursor is not restored to previous state after exit
If after exiting neovim cursor is still blinking see solution on neovim FAQ.