coc.nvim是一个vim以及neovim的自动补全插件。
具体安装的官方wiki:
https://github.com/neoclide/coc.nvim/wiki/Install-coc.nvim
vim版本要求
neovim >= 0.3.1
vim >= 8.1
1.依赖安装
安装nodejs和yarn
curl -sL install-node.now.sh | sh
curl --compressed -o- -L https://yarnpkg.com/install.sh | bash
不过我安装一直下载不成功,所以使用离线的方式
一、离线安装nodejs
在官网下载node-v16.13.0-linux-x64.tar.xz
在 /usr/local 下进行解压
[root@VM-4-12-centos local]# tar -xvf node-v16.13.0-linux-x64.tar.xz
[root@VM-4-12-centos local]# mv node-v16.13.0-linux-x64 nodejs
建立软连接,变为全局
[root@VM-4-12-centos bin]# cd /usr/local/nodejs/bin
[root@VM-4-12-centos bin]# ln -s /usr/local/nodejs/bin/npm /usr/local/bin
[root@VM-4-12-centos bin]# ln -s /usr/local/nodejs/bin/node /usr/local/bin
检验nodejs是否已变为全局
[root@VM-4-12-centos bin]# node -v
v16.13.0
二、离线安装yarn
从官网下载源码包并上传到目标服务器
https://yarnpkg.com/latest.tar.gz
解压程序包到目标目录
tar zvxf yarn-v1.12.3.tar.gz -C /opt
设置环境变量vim /etc/profile,将下面代码添加到文件最后
export NODEJS_HOME=/opt/yarn-v1.12.3/bin
export PATH=$NODEJS_HOME:$PATH
刷新文件配置
. /etc/profile
运行命令来测试 Yarn 是否安装:
yarn --version
2.安装coc.nvim插件
在使用vim-plug管理vim插件的话
在vimrc中添加
Plug 'neoclide/coc.nvim', {'branch': 'release'}
然后运行
:PlugInstall
3.安装后检查
打开vim
执行
:CocInfo##测试是否安装成功
如果有异常会列出异常情况,并给出解决方案,按照上面的命令执行,基本就可以解决安装过程中的异常。
4.语言支持
要让coc.nvim支持某个语言,需要在配置文件中写上关于文件的配置。
打开vim,执行
:CocConfig
打开配置文件,配置文件格式为json。
在下面的wiki中,找到不同语音的配置,复制到自己的配置中。并安装对应的language-server即可。(不同的server安装方式不同。具体见里面的wiki)
https://github.com/neoclide/coc.nvim/wiki/Language-servers
#vim下输入
:CocInstall coc-clangd##安装 C/C++/Objective-C 扩展
5.安装clangd
安装Clangd(C/C++语言服务器)
coc-nvim插件基于语言服务器协议(Language Server Protocol,LSP)提供代码提示,所系需要安装对应的语言服务器。
从github下载Clangd
wget https://github.com/clangd/clangd/releases/download/11.0.0/clangd-linux-11.0.0.zip
解压文件
unzip clangd-linux-11.0.0.zip
mv clangd_11.0.0/ /usr/share/
创建软连接
ln -s /usr/share/clangd_11.0.0/bin/clangd /usr/bin/clangd
clangd
报错
clangd: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by clangd)
解决
wget http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.18.tar.gz
tar -zxvf glibc-2.18.tar.gz
cd glibc-2.18/
mkdir build
cd build
../configure --prefix=/usr
编译大概5分钟
make -j4
安装大概2分钟
sudo make install
三、补充离线安装coc插件方法
为了能快速开发代码,可以使用的vim-snippets插件进行安装,不过vim-snippets只是一个公共的补全的库(自己也可以定义需要补充的内容,在.vimrc文件中进行配置路径即可)
此时可以通过两种方式实现对代码的自动补充、、
1、安装补全代码的引擎,如:SnipMate, Neosnippet, Xptemplate
2、安装coc的补全插件,coc-snippets
个人推荐使用coc
的补全插件这种方式,采用第一种方式进行补全,一般需要设置一个激活的按键,即每次需要补全时按下按键,即可补全,第二种方式是在写代码过程中自动提示,只需要在候选框选择是否选择自己设置的补全还是库函数提供的补全方式即可。第一种安装插件的方式为plugInstall
安装,以下主要介绍第二种coc插件的安装方式
1、有网环境
如果在有网的环境下可以通过以下方式安装coc-snippets
:CocInstall coc-snippets
2、无网环境
方式一:在有网环境中已经下载安装好的插件移植过来。
安装的插件是在家目录下 .config/coc
可以将整个coc
文件夹进行复制,在无网环境导入其中coc
文件夹到同样的家目录的.config
文件夹下
方式二:在有网的环境下通过仓库进行下载,下载的内容同样放入.config
文件夹下,
这种方式一般适用于,通过CocInstall coc-snippets
安装时,仓库不能访问的时候
#进入目录
cd ~/.config/coc/extensions/node_modules#手动下载
wget https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.1.4.tgz#解压
tar -xvf coc-snippets-3.1.4.tgz#解压的目录重命名为coc-snippets
mv coc-snippets-3.1.4 coc-snippets