共计 1667 个字符,预计需要花费 5 分钟才能阅读完成。
上手 Coc.nvim 齐全指南
介绍
Coc.nvim 是一个基于 NodeJS 的实用于 Vim8, Neovim 的 Vim 智能补全插件。
领有残缺的 LSP 反对。配置、应用形式及插件零碎的整体格调相似 VSCode.
对于我本人来说,抉择它的起因就是它安装简单,功可能用。相比 YouCompleteMe 而言装置过程几乎太难受了。
更多的信息能够参见 Wiki.
另:因为 Coc 自身是 Vim 的一个插件而已,但它又有本人的插件零碎,所以上面我会将 Coc 的插件叫做子插件以作辨别。
装置
前提
因为 Coc.nvim 是基于 NodeJS 的,所以如果机器上没有 NodeJS 须要先装置 NodeJS.
Vundle
增加上面的内容到.vimrc
:
Plugin 'neoclide/coc.nvim'
在Vim
外面运行以下命令:
:source %
:PluginInstall
Vundle 版本低于0.10.2
的将Plugin
替换成Bundle
.
NeoBundle
增加上面的内容到.vimrc
:
NeoBundle 'neoclide/coc.nvim'
在Vim
外面运行以下命令:
:source %
:NeoBundleInstall
VimPlug
增加上面的内容到.vimrc
:
Plug 'neoclide/coc.nvim'
在Vim
外面运行以下命令:
:source %
:PlugInstall
Pathogen
切换到 Pathogen 目录下并拉对应仓库即可:
cd ~/.vim/bundle
git clone https://github.com/neoclide/coc.nvim
增加插件
因为 Coc 自身并不提供具体语言的补全性能,更多的只是提供了一个补全性能的平台,
所以在装置实现后,咱们须要装置具体的语言服务以反对对应的补全性能。
关上 Vim 并应用以下命令即可主动装置子插件及相干依赖。
:CocInstall coc-json coc-tsserver
其中 coc-json coc-tsserver
这些是对应的反对 JSON, Typescript 的相干子插件。
要检索都有哪些子插件能够间接在 Npm 上查找 coc.nvim,
亦或者应用 coc-marketplace 间接在 Vim 外面进行治理,装置命令如下:
:CocInstall coc-marketplace
装置完后用上面命令能够关上面板,Tab
可对高亮的子插件进行装置卸载等操作。
# 关上面板
:CocList marketplace
# 搜寻 python 相干子插件
:CocList marketplace python
用高低能够抉择,按 Tab 能够进行对应操作。
另外在这里 有一份绝对残缺的已反对的子插件列表,但不确定是否全面。
批改配置
在 Vim 中能够对各个内置的性能或者外加的子插件进行配置。就相似 Vscode 的配置零碎一样。具体能够设置什么内容能够参见仓库的 Wiki
我本人用的不多,只增加了coc-prettier
相干的几个:
{
"prettier.singleQuote": true,
"prettier.trailingComma": "all",
"prettier.bracketSpacing": false
}
在 ~/.vimrc
中增加以下内容,能够应用 Tab 和 Shift+Tab 进行抉择补全。
" Use <Tab> and <S-Tab> to navigate the completion list
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
增加罕用快捷键
为一些罕用的性能增加快捷键,能够在 ~/.vimrc
中写入:
" Use <Ctrl-F> to format documents with prettier
command! -nargs=0 Prettier :CocCommand prettier.formatFile
noremap <C-F> :Prettier<CR>
下面这段配置增加了一个 Prettier 的快捷命令 :Prettier
并增加了快捷键 Ctrl+F.