安装YCM

YCM是一个基于语义的补全的插件,它至少有三大特性:

1.支持随键补全

2.支持模糊搜索

3.高速补全

上面是YCM的优点,但在使用过程中,YCM有一个对于老机器来说致命的缺陷,由于YCM补全基于libclang生成的语义树,

因此占用的内存非常高,在我的笔记本电脑上,一个简单的cpp文件会占用60%以上的内存,因为启动vim的时候,它会

分析源文件,以及与源文件相关的文件,并生成语法树载入内存,导致vim卡顿,此时需要wait a moment,vim响应之后就好了。

安装:

1.先决条件判定

2.安装libclang

YCM强调使用LLVM官网提供的预编译二进制文件。

我下载之后,在其lib目录下,执行file libclang.so 查看libclang.so的类型发现:

libclang.so: ELF 64-bit LSB shared object, x86-64.....

接下来在编译编译总出现问题,具体原因,我现在没有查找出来,这和我的机器相关,因为我的机器是32位的比较老的Dell D630。

最终我使用的解决办法是重新下载源码重新编译clang,并安装,之后使用安装的clang的根目录作为编译环境,最终编译成功

具体编译方法参考:LLVM每日谈

不过,我执行了make install 对llvm进行了安装,此时llvm被安装在/usr/local/目录下

3.编译YCM支持库

cd /usr/local/
mkdir ycm_build 
cd ycm_build 
cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/usr/local/ . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
make ycm_support_libs

最终在~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp目录中生成了ycm_client_support.so、ycm_core.so、libclang.so三个共享库文件,编译成功。

具体可以参考:

所需即所获:像 IDE 一样使用 vim


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章