Professional Documents
Culture Documents
Neovim Docs Vim Diff Chinese
Neovim Docs Vim Diff Chinese
配置 nvim 配置
使用$XDG_CONFIG_HOME/nvim/init.vim而不是.vimrc您的配置。
使用$XDG_CONFIG_HOME/nvim而不是.vim存储配置文件。
使用$XDG_STATE_HOME/nvim/shada/main.shada而不是.viminfo持久会话信息。
沙达
默认值 nvim‑默认值
默认情况下启用文件类型检测。可以通过在init.vim中添加 “:filetype off”
来禁用此功能。
默认配色方案已更新。这可能会导致配色方案看起来有所不同,因为它们依赖于默认情况下定义突出显示组的方
“:colorscheme vim” 添加到init.vim或将 “:source $VIMRUNTIME/colors/vim.lua”
添加到您的配色方案文件中,以恢复旧的默认链接和颜色。
‘backupdir’默认为 .,~/.local/state/nvim/backup// ( xdg ),自动创建
“定义”默认为“”。C ftplugin 将其设置为“^\\s*#\\s*define”
“包含”默认为“”。C ftplugin 将其设置为“^\\s*#\\s*include”
“isfname”不包含“:”(在 Windows 上)。如果没有它,驱动器号也能正确处理。(使用gF作为后缀为“:l
“路径”默认为“.„”。C ftplugin 添加“/usr/include”(如果存在)。
“标签”默认为“./tags;,tags”
‘undodir’默认为 ~/.local/state/nvim/undo// ( xdg ),自动创建
matchit 插件已启用。要在您的配置中禁用它:
:let loaded_matchit = 1
默认鼠标
[default-mouse](https://neovim.io/doc/user/vim_diff.html#default-mouse)
[disable-mouse](https://neovim.io/doc/user/vim_diff.html#disable-mouse)
1
默认情况下,鼠标处于启用状态,并<RightMouse>打开一个包含标准操作(“剪切”、“复制”、“粘贴”等
,因此您只需输入“:”即可暂时禁用它。
如果您不喜欢这样,您可以使用以下任一方法 在配置中禁用鼠标:
按<RightMouse>扩展选择而不是显示弹出菜单:
set mousemodel=extend
按下<A-LeftMouse>释放鼠标直至光标移动:
nnoremap <A-LeftMouse> <Cmd> \ set mouse=<Bar> \ echo 'mouse OFF until next cursor-move'<Bar
要删除“如何禁用鼠标”菜单项及其上方的分隔符:
aunmenu PopUp.How-to\ disable\ mouse aunmenu PopUp.-1-
默认映射
[default-mappings](https://neovim.io/doc/user/vim_diff.html#default-mappings)Nvim
在启动 时创建以下默认映射。您可以通过简单地删除映射来禁用配置中的任何这些,例如“:unmap
Y”。
默认自动命令
[default-autocmds](https://neovim.io/doc/user/vim_diff.html#default-autocmds)
默认自动命令存在于以下组中。使用“:autocmd! {group}”删除它们,并使用“:autocmd
{group}”查看它们是如何定义的。
nvim_终端:
BufReadCmd:将“term://”缓冲区视为终端缓冲区。终端启动
TermClose:不带参数启动的终端缓冲区(因此使用 ‘shell’)并且退出时没有错误会自动关闭。
新功能 nvim 功能
主要成分
用户体验
2
可用性细节得到了改进,其好处超过了任何向后兼容性的成本。一些例子:
有些功能是内置的,否则需要外部插件:
建筑学
特征
3
Vim 将其内置术语中的内容与从 terminfo 中读取的内容相结合,并有一个‘ttybuiltin’设置来控制该组合的工
使用其中之一,它不会尝试合并两者。
UI/显示: 视觉选择突出显示光标处的字符。视觉使用
上游功能 nvim 上游
这些 Nvim 功能后来被集成到 Vim 中。
4
“#”后跟数字并不代表映射左侧开头的功能键。
动作:跳转列表避免无用/幻象跳转。
性能:在插入模式期间不会更新折叠。
语法突出显示:syncolor.vim 已被删除。Nvim 现在会自动为浅色和深色背景设置默认突出显示组,无论是否启
on和 :syntax‑enable现在是相同的。以前使用过 after/syntax/syncolor.vim
文件的用户应该将该文件转换为颜色方案。:配色方案
工作目录(Vim 在 Nvim 之后实现了其中一些):
haslocaldir()当且仅当 ‑1 作为窗口号传递时才检查选项卡本地目录,并且其唯一可能的返回值是
0 和 1。
getcwd(-1)相当于而getcwd(-1, 0)不是返回全局工作目录。用于getcwd(-1,
-1)获取全局工作目录。
缺少功能 nvim 缺失
这些遗留的 Vim 功能尚未实现:
5
选项: ['aleph'](https://neovim.io/doc/user/vim_diff.html#'aleph')
['al'](https://neovim.io/doc/user/vim_diff.html#'al') 抗锯齿
“退格”不再支持数字值。反而:
用于backspace=0设置backspace=(空)
对于backspace=1套装backspace=indent,eol
for backspace=2set backspace=indent,eol,start(Nvim 中的默认行为)
for backspace=3set backspace=indent,eol,nostop ['balloondelay'](https://neovim.io/doc/user/vim_
['bdlay'](https://neovim.io/doc/user/vim_diff.html#'bdlay')
['ballooneval'](https://neovim.io/doc/user/vim_diff.html#'ballooneval')
['beval'](https://neovim.io/doc/user/vim_diff.html#'beval')
['noballooneval'](https://neovim.io/doc/user/vim_diff.html#'noballooneval')
['nobeval'](https://neovim.io/doc/user/vim_diff.html#'nobeval')
['balloonexpr'](https://neovim.io/doc/user/vim_diff.html#'balloonexpr')
['bexpr'](https://neovim.io/doc/user/vim_diff.html#'bexpr')
bioskey (MS‑DOS) conskey (MS‑DOS) ['cp'](https://neovim.io/doc/user/vim_diff.html#'cp')
['nocompatible'](https://neovim.io/doc/user/vim_diff.html#'nocompatible')
['nocp'](https://neovim.io/doc/user/vim_diff.html#'nocp') ['compatible'](https://neovim.io/do
总是“不兼容”。) ‘cpoptions’ (gjpkHw<*‑ 并且所有 POSIX 标志都被删除)
['cryptmethod'](https://neovim.io/doc/user/vim_diff.html#'cryptmethod')
['cm'](https://neovim.io/doc/user/vim_diff.html#'cm') ['key'](https://neovim.io/doc/user/vim_
加密实现) cscopepathcomp cscopeprg cscopequickfix cscoperelative
cscopetag cscopetagorder cscopeverbose ['ed'](https://neovim.io/doc/user/vim_diff.html#'ed')
['edcompatible'](https://neovim.io/doc/user/vim_diff.html#'edcompatible')
['noed'](https://neovim.io/doc/user/vim_diff.html#'noed') ['noedcompatible'](https://neovim.i
‘encoding’(始终使用“utf‑8”)esckeys’guioptions ’ “t”标志已删除
['guifontset'](https://neovim.io/doc/user/vim_diff.html#'guifontset')
['gfs'](https://neovim.io/doc/user/vim_diff.html#'gfs')(使用‘guifont’代替。)
['guipty'](https://neovim.io/doc/user/vim_diff.html#'guipty')(Nvim
在所有平台上一致使用管道和 PTY。) ‘highlight’(内置名称无法更改
突出显示组['hkmap'](https://neovim.io/doc/user/vim_diff.html#'hkmap')
['hk'](https://neovim.io/doc/user/vim_diff.html#'hk')。)请改用set
keymap=hebrew。 代替['hkmapp'](https://neovim.io/doc/user/vim_diff.html#'hkmapp')
['hkp'](https://neovim.io/doc/user/vim_diff.html#'hkp')使用。set
keymap=hebrewp关键协议
['pastetoggle'](https://neovim.io/doc/user/vim_diff.html#'pastetoggle')
['pt'](https://neovim.io/doc/user/vim_diff.html#'pt')Just Paste
It.™当您使用终端或 GUI 的粘贴功能(、CMD‑v (macOS)、中键单击等)粘贴文本时,系统会自动处理粘贴。C
['imactivatefunc'](https://neovim.io/doc/user/vim_diff.html#'imactivatefunc')
['imaf'](https://neovim.io/doc/user/vim_diff.html#'imaf') ['imactivatekey'](https://neovim.io
['imak'](https://neovim.io/doc/user/vim_diff.html#'imak') ['imstatusfunc'](https://neovim.io/
['imsf'](https://neovim.io/doc/user/vim_diff.html#'imsf') ['insertmode'](https://neovim.io/do
['im'](https://neovim.io/doc/user/vim_diff.html#'im')使用以下脚本来模拟‘insertmode’:
6
autocmd BufWinEnter * startinsert inoremap <Esc> <C-X><C-Z><C-]> inoremap <C-C> <C-X><C-Z> i
['macatsui'](https://neovim.io/doc/user/vim_diff.html#'macatsui')
['maxcombine'](https://neovim.io/doc/user/vim_diff.html#'maxcombine')
['mco'](https://neovim.io/doc/user/vim_diff.html#'mco') Nvim
以字节为单位计算最大字符大小,而不是代码点。这保证足够大,以始终适合在
vim 中正确显示的所有字符,并将‘maxcombine’设置为 6。
您仍然可以编辑比屏幕缓冲区容纳的字符更大的文本,只是看不到它们。使用g8或ga。请参阅兆字节组合。
注意:rexexp 引擎仍然存在仅考虑 6 个组合字符的硬编码限制。
['maxmem'](https://neovim.io/doc/user/vim_diff.html#'maxmem')Nvim
将内存管理委托给操作系统。 ['maxmemtot'](https://neovim.io/doc/user/vim_diff.html#'maxmemtot')
将内存管理委托给操作系统。printoptions “exrc”['printdevice'](https://neovim.io/doc/user/vim_d
['printencoding'](https://neovim.io/doc/user/vim_diff.html#'printencoding')
['printexpr'](https://neovim.io/doc/user/vim_diff.html#'printexpr')
['printfont'](https://neovim.io/doc/user/vim_diff.html#'printfont')
['printmbcharset'](https://neovim.io/doc/user/vim_diff.html#'printmbcharset')
['prompt'](https://neovim.io/doc/user/vim_diff.html#'prompt')
['noprompt'](https://neovim.io/doc/user/vim_diff.html#'noprompt')
['remap'](https://neovim.io/doc/user/vim_diff.html#'remap')
['noremap'](https://neovim.io/doc/user/vim_diff.html#'noremap')
['restorescreen'](https://neovim.io/doc/user/vim_diff.html#'restorescreen')
['rs'](https://neovim.io/doc/user/vim_diff.html#'rs') ['norestorescreen'](https://neovim.io/d
['nors'](https://neovim.io/doc/user/vim_diff.html#'nors') ['secure'](https://neovim.io/doc/us
中允许所有内容,因为它们必须明确标记为可信。 ‘shortmess’标志:(表现得像始终打开一样)
(Vim 7.4.852 也为 Windows 删除了此功能) (将“s”添加到‘shortmess’中)
textauto textmode oddinvert['shelltype'](https://neovim.io/doc/user/vim_diff.html#'shelltype')
[shm-f](https://neovim.io/doc/user/vim_diff.html#shm-f) [shm-n](https://neovim.io/doc/user/vi
[shm-x](https://neovim.io/doc/user/vim_diff.html#shm-x) [shm-i](https://neovim.io/doc/user/vi
['sn'](https://neovim.io/doc/user/vim_diff.html#'sn') ['noshortname'](https://neovim.io/doc/u
['nosn'](https://neovim.io/doc/user/vim_diff.html#'nosn') ['swapsync'](https://neovim.io/doc/
['sws'](https://neovim.io/doc/user/vim_diff.html#'sws') ['termencoding'](https://neovim.io/do
['tenc'](https://neovim.io/doc/user/vim_diff.html#'tenc')``['terse'](https://neovim.io/doc/u
['noterse'](https://neovim.io/doc/user/vim_diff.html#'noterse')['toolbar'](https://neovim.io
['tb'](https://neovim.io/doc/user/vim_diff.html#'tb') ['toolbariconsize'](https://neovim.io/d
['tbis'](https://neovim.io/doc/user/vim_diff.html#'tbis') ['ttybuiltin'](https://neovim.io/do
['tbi'](https://neovim.io/doc/user/vim_diff.html#'tbi') ['nottybuiltin'](https://neovim.io/do
['notbi'](https://neovim.io/doc/user/vim_diff.html#'notbi')
['ttyfast'](https://neovim.io/doc/user/vim_diff.html#'ttyfast')
['tf'](https://neovim.io/doc/user/vim_diff.html#'tf') ['nottyfast'](https://neovim.io/doc/use
['notf'](https://neovim.io/doc/user/vim_diff.html#'notf') ['ttymouse'](https://neovim.io/doc/
['ttym'](https://neovim.io/doc/user/vim_diff.html#'ttym') ['ttyscroll'](https://neovim.io/doc
['tsl'](https://neovim.io/doc/user/vim_diff.html#'tsl') ['ttytype'](https://neovim.io/doc/use
['tty'](https://neovim.io/doc/user/vim_diff.html#'tty')
插件:
7
提供商:
[if_lua](https://neovim.io/doc/user/vim_diff.html#if_lua): Nvim
Lua API 与 Vim 的“if_lua”不兼容。
启动: –literal (文件参数始终是文字;要在 Windows 上扩展通配符,请使用
:n例如nvim +"n *") 简单模式:eview、evim、nvim ‑y 限制模式:rview、rvim、nvim
‑Z Vi 模式:nvim ‑v
测试函数: test_alloc_fail() test_autochdir() test_disable_char_avail()
test_feedinput() test_garbagecollect_soon test_getvalue() test_ignore_error()
test_null_blob() test_null_channel() test_null_dict() test_null_function()
test_null_job() test_null_list() test_null_partial() test_null_string()
test_option_not_set () 测试覆盖() test_refcount() test_scrollbar() test_setmouse()
test_settime() test_srand_seed()
TUI: [t_xx](https://neovim.io/doc/user/vim_diff.html#t_xx)
[termcap-options](https://neovim.io/doc/user/vim_diff.html#termcap-options)
[t_AB](https://neovim.io/doc/user/vim_diff.html#t_AB) [t_Sb](https://neovim.io/doc/user/vim_d
[t_vb](https://neovim.io/doc/user/vim_diff.html#t_vb) [t_SI](https://neovim.io/doc/user/vim_d
Nvim 没有特殊t_XX选项或<t_XX>键码来配置终端功能。相反,Nvim 将终端视为任何其他
UI,例如“guicursor”设置终端光标样式(如果可能)。
[xterm-8bit](https://neovim.io/doc/user/vim_diff.html#xterm-8bit)
[xterm-8-bit](https://neovim.io/doc/user/vim_diff.html#xterm-8-bit)
Xterm 可以在使用真正的 8 位 CSI 的模式下运行。支持此功能需要自动检测终端是处于
UTF‑8 模式还是非 UTF‑8 模式,因为在每种情况下必须以不同的方式写入 8 位
CSI 字符。Vim 在启动时向终端发出“请求版本”序列,并查看终端如何发送
CSI。Nvim 不发出这样的序列,并且始终使用 7 位控制序列。