最近发现了一个新的自动补全插件coc.nvim异步,nodejs后端,配合它自身的lsp支持用起来非常舒服,同样也支持lsp和snippets,强烈推荐,值得一试。
一、使用vimplug安装插件
1.进入coc.nvim 在github的主页https://github.com/neoclide/coc.nvim
由于该插件需要nodejs的支持所以需要先安装nodejs,已安装可忽略此步
1 | curl -sL install-node.now.sh/lts | bash |
然后再.vimrc指定位置添加插件,推荐使用稳定版本
1 2 | " Use release branch (Recommend) Plug 'neoclide/coc.nvim', {'branch': 'release'} |
2.测试是否安装成功
在vim命令行中输入

3.添加推荐配置
在coc.nvim的github主页有一个推荐配置(example vim configuration),具体功能比较复杂直接复制就是了,将其中内容全盘复制到.vimrc中

二、在coc.nvim中安装需要的语言插件
coc.nvim只是一个平台,它能够允许你安装各种语言插件,达到不同语言的补全效果。因此我们只有安装了对应的语言插件才能实现补全。
1.打开coc.nvim在github的wiki页面中的language servers页面
https://github.com/neoclide/coc.nvim/wiki/Language-servers
找到对应的语言,以C为例

针对同一种语言可能有不同LSP client支持选择一个自己喜欢的就好,这里以CCLS为例
- 安装ccls
sudo apt install ccls - 将language servers页面中对应的配置代码复制
- 在vim命令行中输入
CocConfig 进入配置页面 - 将内容粘贴【注】要将复制代码放在一对中括号外如下图
- 执行安装命令
:CocInstall coc-ccls

至此语言安装基本完成,你可以尝试新建一个文件进行补全测试。
三、在coc.nvim中插件管理
进入coc.nvim的github中Using coc extensions页面https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions
里面主要介绍了一些基本的插件管理命令
- 安装命令
:CocInstall 插件名 - 移除命令
:CocUninstall 插件名 - 查看已安装
:CocList extensions - 更新命令
:CocUpdate
具体的插件安装名可以查看Implemented coc extensions

四、片段补全coc-snippets
片段补全是我这种懒人非常需要的功能,coc-snippets是集成在coc.nvim中的一个片段补全插件,安装极为简单只需要在命令行下输入
若你没有安装代码片段库则需要额外添加插件vim-snippets,在.vimrc中添加插件

