Nvim
Nvim:help
pages,generated fromsource using thetree-sitter-vimdoc parser.
Nvim is based on Vim by Bram Moolenaar. Nvim is emphatically a fork of Vim,not a clone: compatibility with Vim (especially editor and Vimscript features,except
Vim9script) is maintained where possible. See
vim-differences forthe complete reference.
If you have never used Vim or Nvim before, see below.
To learn how to use Vim in 30 minutes, try the tutorial:
:Tutor<Enter>
To customize Nvim, you will need a config file. Create your
init.lua bycopying the "example_init.lua" file:
:exe 'edit' stdpath('config') .. '/init.lua':read $VIMRUNTIME/example_init.lua
See
lua-guide for practical notes on using Lua to configure Nvim.
"IDE" features in Nvim are provided by
LSP.
If you are just trying out Nvim for a few minutes, and want to see theextremes of what it can do, try one of these popular "extension packs" or"distributions" (Note: Nvim is not affiliated with these projects, and doesnot support them):
Not recommended; use$VIMRUNTIME/example_init.lua
instead.
However, we recommend (eventually) taking time to learn Nvim from its stockconfiguration, and incrementally setting options and adding plugins to your
config as you discover a need.
1. To start the transition, create your
init.vim (user config) file:
:exe 'edit '.stdpath('config').'/init.vim':write ++p
2. Add these contents to the file:
set runtimepath^=~/.vim runtimepath+=~/.vim/afterlet &packpath = &runtimepathsource ~/.vimrc
3. Restart Nvim, your existing Vim config will be loaded.
:restart
See
provider-python and
provider-clipboard for additional software youmight need to use some features.
Your Vim configuration might not be entirely Nvim-compatible (see
vim-differences). For example the
'ttymouse' option was removed from Nvim,because mouse support is always enabled if possible. If you use the same
vimrc for Vim and Nvim you could guard
'ttymouse' in your configurationlike so:
if !has('nvim') set ttymouse=xterm2endif
And for Nvim-specific configuration, you can do this:
if has('nvim') tnoremap <Esc> <C-\><C-n>endif
For a more granular approach use
exists():
if exists(':tnoremap') tnoremap <Esc> <C-\><C-n>endif
Now you should be able to explore Nvim more comfortably. Check
nvim-featuresfor more information.
portable-configBecause Nvim follows the XDG
base-directories standard, configuration onWindows is stored in ~/AppData instead of ~/.config. But you can still sharethe same Nvim configuration on all of your machines, by creating~/AppData/Local/nvim/init.vim containing just this line:
source ~/.config/nvim/init.vim