Nvim :help
pages, generated
from source
using the tree-sitter-vimdoc parser.
master
branch) is used to aggressively stage new features
and changes. It's usually stable, but will occasionally break your workflow.
We depend on HEAD users to report "blind spots" that were not caught by
automated tests.
if_lua
interface is not supported.
set termguicolors
�[2 q
) WHEN CHANGING MODESTERM=xterm-256color
).
:set guicursor=
" Workaround some broken plugins which set guicursor indiscriminately.
:autocmd OptionSet guicursor noautocmd set guicursor=
$TERM
.
NVIM_TUI_ENABLE_CURSOR_SHAPE
in man nvim
.
:set guicursor=
" Workaround some broken plugins which set guicursor indiscriminately.
:autocmd OptionSet guicursor noautocmd set guicursor=
blinkon0
. See 'guicursor'.
:set termguicolors
:hi Cursor guifg=green guibg=green
:hi Cursor2 guifg=red guibg=red
:set guicursor=n-v-c:block-Cursor/lCursor,i-ci-ve:ver25-Cursor2/lCursor2,r-cr:hor20,o:hor50
au VimEnter,VimResume * set guicursor=n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50
\,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor
\,sm:block-blinkwait175-blinkoff150-blinkon175
au VimLeave,VimSuspend * set guicursor=a:block-blinkon0
_
appears and disappears very quickly when opening nvim without a
document under tmux, and you set ctermbg in EndOfBuffer
and Normal
, try
setting these to NONE
:
hi EndOfBuffer ctermbg=NONE ctermfg=200 cterm=NONE
hi Normal ctermbg=NONE ctermfg=200 cterm=NONE
clipboard=autoselect
is not implemented yet
https://github.com/neovim/neovim/issues/2325. You may find this workaround to
be useful:
vnoremap <LeftRelease> "*ygv
vnoremap <2-LeftRelease> "*ygv
CTRL-H
MAPPING DOESN'T WORKinfocmp $TERM | sed 's/kbs=^[hH]/kbs=\\177/' > $TERM.ti
tic $TERM.ti
*.ti
file created after running the above
commands).
<HOME>
OR SOME OTHER "SPECIAL" KEY DOESN'T WORK$TERM
should be screen-256color
(not xterm-256color
!)
TERM=xterm-256color
.
neovim
module was renamed to pynvim
(long ago).
pynvim
module
https://pypi.python.org/pypi/pynvim/, you must set g:python3_host_prog
to
the virtualenv's interpreter path.
pynvim
Python module:
python -m pip install setuptools
python -m pip install --upgrade pynvim
python3 -m pip install --upgrade pynvim
nvim -u NORC
to make sure your config (init.vim) isn't causing a
problem. If you get E117: Unknown function
, that means there's a runtime
issue: faq-runtime.
health#check()
couldn't load, which suggests that $VIMRUNTIME
or 'runtimepath' is broken.
:echo &runtimepath
contains the $VIMRUNTIME path.
:call health#check()
:verbose func health#check
:help nvim
shows E149: Sorry, no help for nvim
.
:echo $VIM
and :echo $VIMRUNTIME
. This should
give something like /usr/share/nvim
resp. /usr/share/nvim/runtime
.
:set runtimepath?
), which includes the above $VIMRUNTIME by default (see
'runtimepath').
:checkhealth nvim
should report one of these "build types":
Build type: RelWithDebInfo Build type: MinSizeRel Build type: Release
Build type: Debug
and you're building Nvim from source, see
https://github.com/neovim/neovim/blob/master/BUILD.md.
TERM=xterm-256color nvim
. If colors are displayed
correctly, then export that value of TERM
in your user profile (usually
~/.profile
):
export TERM=xterm-256color
tmux
, instead add this to your tmux.conf
:
set -g default-terminal "tmux-256color"
screen
, configure your .screenrc
<https://wiki.archlinux.org/index.php/GNU_Screen#Use_256_colors>:
term screen-256color
t_Co
and other t_xx terminal codes.
locale | grep -E '(LANG|LC_CTYPE|LC_ALL)=(.*\.)?(UTF|utf)-?8'
tmux
/ screen
(see also https://github.com/tmux/tmux/issues/131#issuecomment-145853211). The
corresponding timeout needs to be tweaked to a low value (10-20ms).
.tmux.conf
:
set -g escape-time 10 # Or for tmux >= 2.6 set -sg escape-time 10
.screenrc
:
maptimeout 10
vim -N -u NONE
), but if you hit a key quickly after
ESC then Vim interprets the ESC as ESC instead of ALT (META). You won't
notice the delay unless you closely observe the cursor. The tradeoff is that
Vim won't understand ALT (META) key-chords, so for example nnoremap <M-a>
won't work. ALT (META) key-chords always work in Nvim.
See also :help xterm-cursor-keys
in Vim.
ESC
is part of a mouse sequence and will
wait an unlimited time for the rest of the sequence, regardless of
maptimeout
. Until it's fixed in screen, there's no known workaround for
this other than double-pressing escape, which causes a single escape to be
passed through to Nvim.
shortmess+=F
by default. Vim behaves the same way
with set shortmes+=F
. There are plans to improve this, but meanwhile as a
workaround, use set shortmess-=F
or use unsilent
as follows.
unsilent let var = inputlist(['1. item1', '2. item2'])
autocmd BufNewFile * unsilent echomsg 'The autocmd has been fired.'
let g:clipboard = { 'name' : ... }
if exists('g:loaded_clipboard_provider')
unlet g:loaded_clipboard_provider
runtime autoload/provider/clipboard.vim
endif
function! s:clipboard_changed(...) abort
if exists('g:loaded_clipboard_provider')
unlet g:loaded_clipboard_provider
endif
runtime autoload/provider/clipboard.vim
endfunction
if !exists('s:loaded")
call dictwatcheradd(g:, 'clipboard', function('s:clipboard_changed'))
endif
let s:loaded = v:true
make distclean && make
to rule out a stale build environment causing the
failure.
rm -r build && make
after modifying local.mk
.
configure_file Problem configuring file
make
as the
root user, then later run an unprivileged make
. To fix this, run
rm -rf build
and try again.
CMAKE_INSTALL_PREFIX
is not set
during building, the default is /usr/local/share/nvim
):
rm -r /usr/local/share/nvim