mirror of
https://github.com/neovim/neovim.git
synced 2026-05-05 05:25:10 +00:00
Problem: There are some "boilerplate" steps for new users. Although we are constantly improving defaults and lifting patterns into core, users eventually want to know how to start their own config, add plugins, etc. Solution: Add `runtime/example_init.lua` and refer to it from docs.
103 lines
3.6 KiB
Plaintext
103 lines
3.6 KiB
Plaintext
*nvim.txt* Nvim
|
|
|
|
|
|
NVIM REFERENCE MANUAL
|
|
|
|
|
|
Nvim *nvim* *neovim* *nvim-intro*
|
|
|
|
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| for
|
|
the complete reference.
|
|
|
|
If you already use Vim, see |nvim-from-vim| for a quickstart. If you just
|
|
installed Nvim and have never used it before, watch this 10-minute
|
|
video: https://youtu.be/TQn2hJeHQbM .
|
|
|
|
To learn how to use Vim in 30 minutes, try the tutorial: >vim
|
|
|
|
:Tutor<Enter>
|
|
<
|
|
Type |gO| to see the table of contents.
|
|
|
|
==============================================================================
|
|
Transitioning from Vim *nvim-from-vim*
|
|
|
|
1. To start the transition, create your |init.vim| (user config) file: >vim
|
|
|
|
:exe 'edit '.stdpath('config').'/init.vim'
|
|
:write ++p
|
|
|
|
2. Add these contents to the file: >vim
|
|
|
|
set runtimepath^=~/.vim runtimepath+=~/.vim/after
|
|
let &packpath = &runtimepath
|
|
source ~/.vimrc
|
|
|
|
3. Restart Nvim, your existing Vim config will be loaded.
|
|
|
|
See |provider-python| and |provider-clipboard| for additional software you
|
|
might 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 configuration
|
|
like so:
|
|
>vim
|
|
if !has('nvim')
|
|
set ttymouse=xterm2
|
|
endif
|
|
|
|
And for Nvim-specific configuration, you can do this:
|
|
>vim
|
|
if has('nvim')
|
|
tnoremap <Esc> <C-\><C-n>
|
|
endif
|
|
|
|
For a more granular approach use |exists()|:
|
|
>vim
|
|
if exists(':tnoremap')
|
|
tnoremap <Esc> <C-\><C-n>
|
|
endif
|
|
|
|
Now you should be able to explore Nvim more comfortably. Check |nvim-features|
|
|
for more information.
|
|
|
|
*portable-config*
|
|
Because Nvim follows the XDG |base-directories| standard, configuration on
|
|
Windows is stored in ~/AppData instead of ~/.config. But you can still share
|
|
the same Nvim configuration on all of your machines, by creating
|
|
~/AppData/Local/nvim/init.vim containing just this line: >vim
|
|
source ~/.config/nvim/init.vim
|
|
|
|
==============================================================================
|
|
What next? *nvim-quickstart*
|
|
|
|
If you want to use Lua to configure Nvim, you can copy an example
|
|
configuration to your |init.lua|
|
|
>vim
|
|
: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 Language Server Protocol. See |lsp|
|
|
|
|
If you are just trying out Nvim for a few minutes, and want to see the
|
|
extremes of what it can do, try one of these popular "extension packs" or
|
|
"distributions" (Note: Nvim is not affiliated with these projects, and does
|
|
not support them):
|
|
|
|
- *kickstart* https://github.com/nvim-lua/kickstart.nvim
|
|
- *lazyvim* https://www.lazyvim.org/
|
|
- *nvchad* https://nvchad.com/
|
|
|
|
However, in general, we recommend (eventually) taking time to learn Nvim from
|
|
its stock configuration, and incrementally setting options and adding plugins
|
|
to your |config| as you find an explicit need to do so.
|
|
|
|
==============================================================================
|
|
vim:tw=78:ts=8:et:ft=help:norl:
|