欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等
之前写了一些 vim 基本操作和 vim 相关操作的文章,最好先看一下之前写的关于 vim 插件的用法,也好理解今天分享的内容。本次修改也是基于上次给出的 vim 插件包进行修改的,参考往期文章下载即可。
往期文章地址:
VIM基本操作与快捷键:VIM基本操作与快捷键 – 无敌牛
使用vim及安装的插件构建C语言开发环境:使用vim及安装的插件构建C语言开发环境 – 无敌牛
简介
先给读者看一个使用此篇文章提供的 vim 插件 coc.nvim 能达到什么效果。
上图很容看到,在 字符终端 使用 vim 作开发,竟然非常友好的给出了提示,使用上下键可以选择使用给出的提示内容,然后使用 Ctrl + Y 快捷键可以把选中的内容写到当前位置。这样开发实在太友好了,直接给出了函数原型,脑袋终于不用再纠结函数全名是什么,函数参数给的对不对、全不全等等一系列问题了。而且还给出了二级说明,包括引用哪个源文件和以及其简单释义。
上图给出的效果就是 coc.nvim 插件 + Clangd 提供的功能。本来使用 vim 开发就是因为 vim 运行比较轻量,操作丰富、高效,界面简洁突出重点,也不用鼠标和键盘之间来回切换,更省去了精确控制鼠标指针这种精神高度集中的消耗。现在又让 vim 像图形界面集成开发环境(例如:vscode)一样给出联想提示,那真是让 vim 飒的一批!
coc.nvim 是一个基于 neovim 和 vim 的智能代码补全插件,它通过集成多种语言服务器协议(LSP)服务来提供强大的代码编辑功能。coc
代表 “Code On Command”,其设计理念是 让开发者能够以命令驱动的方式高效地编写代码。
coc.nvim 是开源项目,在neovim 和 vim 中都可以使用。代码地址在:https://github.com/neoclide/coc.nvim
安装
前提条件:根据官方提供的说明,1、coc.nvim 依赖 vim >= 9.0.0438 或者 neovim >= 0.8.0;2、nodejs >= 16.18.0。这些需要自己去安装,笔者不在此赘述。
1、安装 plug.vim 插件包管理器
本次使用 vim 的插件包管理器 plug.vim 插件来安装 coc.nvim 插件,*_*,有些拗口。plug.vim 插件获取地址:https://github.com/junegunn/vim-plug。自行下载 plug.vim 文件后,放在 ~/.vim/autoload/ 目录下就可以了,如下图。
2、安装 coc.nvim 插件
修改 ~/.vim/vimrc 配置文件,在其中增加以下代码
call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()
打开 vim,不用加任何参数,直接执行:vim 命令即可。然后在 vim 的命令行输入: :PlugInstall
随后会出现安装提示,安装成功后,也会有提示。这次安装是从 github 拉取插件,如果安装失败,很大可能是因为国内访问github库不稳定,等一会再试试。
3、安装 clangd 软件包
clangd
是 Clang 项目的一部分,它是一个基于 LLVM/Clang 的 C、C++、Objective-C 和其他相关语言的语言服务器。clangd
实现了语言服务器协议(LSP),使得集成开发环境(IDE)和其他编辑器能够提供智能代码补全、定义跳转、引用查找、重命名符号等功能,从而极大地提升了开发者在编写和维护这些语言的代码时的效率。
直接在系统源里就可以安装:apt install clangd
4、安装 coc-clangd 插件
打开 vim,然后在 vim 的命令行输入: :ConInstall coc-clangd
遇到问题了,如下图:
这是因为 npm 官方提供的源在国内访问不稳定,经常访问不到。在 vim 命令行输入: :h coc-nvim
找到一个设置国内源的方法,如下面第二张图:在 ~/.npmrc 中添加 coc.nvim:registry=https://xxxxxxx.xxxxxx.xx/
添加后的内容如下:
registry=https://registry.npm.taobao.org/
strict-ssl=false
coc.nvim:registry=https://registry.npm.taobao.org/
在 vim 输入: :ConInstall coc-clangd
再次安装 coc-clangd,依然报错,阿里的 npm 源证书过期了!-_-?~。如下图:
只好跳过证书验证,找了好几种方法。最后解决方案:在 ~/.vim/ 创建文件 coc-settings.json
,文件内容:
{
"http.proxyStrictSSL": false
}
再次在 vim 输入: :ConInstall coc-clangd
安装 coc-clangd
,安装成功!
到此,coc.nvim插件 + Clangd 辅助 Clang 开发的功能全部安装完成。下图就是效果,和此篇文章第一张图一样。