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每日谈<