最近发现了一个新的自动补全插件coc.nvim异步,nodejs后端,配合它自身的lsp支持用起来非常舒服,同样也支持lsp和snippets,强烈推荐,值得一试。

一、使用vimplug安装插件

1.进入coc.nvim 在github的主页https://github.com/neoclide/coc.nvim

由于该插件需要nodejs的支持所以需要先安装nodejs,已安装可忽略此步

curl -sL install-node.now.sh/lts | bash

然后再.vimrc指定位置添加插件,推荐使用稳定版本

" Use release branch (Recommend)
Plug 'neoclide/coc.nvim', {'branch': 'release'}

2.测试是否安装成功

在vim命令行中输入:CocInfo,若有类似以下信息弹出表示插件安装成功
在这里插入图片描述

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为例

  1. 安装
git clone --depth=1 --recursive https://github.com/MaskRay/ccls
cd ccls
cmake -H. -BRelease -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_PREFIX_PATH=/path/to/clang+llvm
sudo cmake --build Release --target install
  1. 将language servers页面中对应的配置代码复制
  2. 在vim命令行中输入CocConfig进入配置页面
  3. 将内容粘贴【注】要将复制代码放在一对中括号外如下图
  4. 执行安装命令:CocInstall coc-ccls
    在这里插入图片描述
    至此语言安装基本完成,你可以尝试新建一个文件进行补全测试。
    若出现extension “coc-ccls” doesn’t contain main file报错请参考https://www.cnblogs.com/zi-wang/p/12693312.html

三、在coc.nvim中插件管理

进入coc.nvim的github中Using coc extensions页面i
里面主要介绍了一些基本的插件管理命令

  1. 安装命令:CocInstall 插件名
  2. 移除命令:CocUninstall 插件名
  3. 查看已安装:CocList extensions
  4. 更新命令:CocUpdate
    具体的插件安装名可以查看Implemented coc extensions
    在这里插入图片描述

四、片段补全coc-snippets

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

五、添加Python补全coc-python

首先要安装 语言服务器 python-language-server

 pip3 install 'python-language-server[all]'

然后在原有json中添加关闭jedi命令
在这里插入图片描述
注意要加 ,否则json语法通不过
最后只要输入安装命令

:CocInstall coc-python

六、脚本安装

为了方便自己和其他人进行相同配置的安装,我写了一个shell脚本只需要运行脚本然后按照指定的提示命令进行安装即可,顺利的情况下只需要十几分钟就可以完成所有的vim 的配置工作。脚本见https://gitee.com/xiang66/quick-configuration-of-vim.git

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐