首页 ZZ游戏攻略 正文

YouCompleteMe和其它插件比哪个好?老司机告诉你!

今天折腾一下 Vim 的代码补全插件,YouCompleteMe,大家都叫它 YCM。这玩意儿号称是 Vim 里最难搞的插件,没有之一,不过弄好是真的香!

安装前的心理建设

先说这玩意儿安装起来确实有点麻烦,我前前后后大概花三四天才搞定。不过别怕,一步一步来,总能搞定的。我的经验是,心态要稳,多查资料,多尝试。

我的安装过程

我是用 Vundle 来管理 Vim 插件的,所以第一步当然是把 YCM 加到 Vundle 的配置里。在你的 .vimrc 文件里加上这么一行:

Plugin 'Valloric/YouCompleteMe'

然后,在 Vim 里执行 :PluginInstall,让 Vundle 去下载 YCM。这一步可能会比较慢,耐心等等。

下载完之后,还没完!YCM 需要编译才能用。进入到 YCM 的目录:

cd ~/.vim/bundle/YouCompleteMe

然后执行:

./* --all

这个 --all 参数是安装所有语言的补全支持,如果你只用 C/C++,可以改成 --clang-completer。这一步也会比较慢,而且可能会出错,如果出错,仔细看看错误信息,一般都能在网上找到解决办法。

踩过的坑

  • 网络问题: 下载 YCM 的时候,因为网络原因,经常会失败。我的解决办法是,多试几次,或者找个网络好点的时间再试。
  • 依赖问题: YCM 依赖一些其他的库,比如 clang。如果你的系统里没有安装这些库,编译的时候就会出错。我的解决办法是,根据错误信息,把缺少的库都装上。
  • 版本问题: 一定要注意版本匹配, 特别是clang的版本, 搞不好就得重头再来。

配置YCM

安装完成后,还需要简单配置一下 YCM。我主要改这么几个地方:

  • 设置触发补全的最少字符数,我设置的是 2,这样打两个字符就会弹出补全菜单。
  • 开启语义补全,这样 YCM 就能根据代码的上下文给出更准确的补全建议。
  • 配置快捷键, 比如快速跳转之类的。

搭配其他插件,更上一层楼

虽然 YCM 本身已经很强大,但搭配其他插件,能让你的 Vim 更好用。我推荐搭配 Syntastic 使用,可以提供实时的语法检查。

使用感受

装好 YCM 后,写代码的感觉确实不一样。代码补全的速度很快,而且很准确,大大提高我的开发效率。以前写代码的时候,经常需要去查文档,现在很多时候直接看 YCM 的补全建议就行。

虽然安装过程比较折腾, 但是用起来是真的舒服, 强烈建议你也试试!