
YouCompleteMe 是一款非常强大的代码自动补全插件。我原先用的是 clang-complete ,然后在最近有好几个月没有写东西了,系统一直更新更新到后面 clang-complete 出了一些问题,于是就开始找有什么其它的自动补全插件,然后就听说了 YouCompleteMe 的大名,如果想有比较详细的了解,可以参考它的 官方文档 ,我在这里只是介绍一部分内容以及如何安装。
首先我们来看一段它的演示,你马上就会了解到这是有多强大了!
这整个过程是 没有使用任何快捷键 的,那些提示框的出现完全是 自动 的。你还会发现,YouCompleteMe 识别关键字的方法 不是 基于字串,而是 基于子序列 。而且,在 C++ 中写了 . 、 -> 或者 :: 这样的运算符之后,它会提示你这里面有什么成员,甚至提示这个函数有什么参数!
好我们现在再来看一个例子
这是 GoToDefinition 功能,如果你把这个设置成快捷键,Vim 就有像 Visual Studio 之类的 IDE 的功能了!
介绍完这些之后我们来说说怎么去安装它,YouCompleteMe(后面我们就写成YCM)和其它 Vim 插件有些不同,它在下载完之后是需要 手动编译 的,由于我的系统是 linux,因此我在这里只介绍在 Linux 上的安装方法
安装准备确保你的 Vim 版本高于 7.3.584,并且有 python2 支持(注意不是 python3)。自动补全你可以运行 vim -- version 来查看,如果有 python2 支持的话会有 +python 的标志,否则你需要重新编译你的 Vim安装 Vundle 插件,这是一个用于管理 Vim 插件的插件安装 cmake安装
首先你需要在 .vimrc 里添加如下代码
Vim
Bundle 'Valloric/YouCompleteMe'
Bundle 'Valloric/YouCompleteMe'
Vim
:BundleInstall
:BundleInstall
现在你需要等 Vundle 下载完 YCM,这可能会花比较久的时间,请耐心等待
接着在下载完了后开始编译
Shell
cd ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive./install.py --clang-completer
cd ~/.vim/bundle/YouCompleteMegitsubmoduleupdate --init --recursive./install.py --clang-completer
--clang-completer 是提供 C-family 语言支持的,不需要可以将其去掉,默认情况下它会去下载 clang,如果你已经有了 clang,加上 --system-libclang
顺便一提,如果你需要 C# 的补全,加上 --omnisharp-completer
我在编译完了之后 C-family 语言支持的东西是在 ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ 里面的,似乎没法找到,于是我做了个符号链接将其连接到 ~/.vim/bundle/YouCompleteMe
YCM 的默认配置文件是在 ~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py 下,我在 .vimrc 里面添加了一句直接指定它默认的位置
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23049-1.html
哇靠如果是我绝对淘到马云哭想买的东西太多了