YouCompleteMe号称vim最难安装的插件,是太低估它了,我觉得只是目前我遇到的最难安装的一个软件。
YouCompleteMe是用c++写的,要想补全c-family需要用clang编译。
clang是苹果基于llvm架构开发的编译器,具有强大的语义分析能力,在它没有出现之前,emacs和vim的自动补全烂了几十年,它的目标是超越gcc
而YouCompleteMe下层用c++写的用到了clang语义补全的引擎,上层用Python封装。想要安装它并非易事,涉及到很多底层的东西。
在这里我简单罗列出两种环境下的安装步骤:windows下gvim和linux下的vim
一、windows下:
1、安装gvim支持Python(vim --version,Python前面有+号,表示支持,如果没有需要自己编译安装对Python的支持。刚说了YouCompleteMe用Python封装,没有对Python的支持后面都会白做,一身冷汗。)
2、git到~/vimfiles/bundle/ 地址:https://github.com/Valloric/YouCompleteMe
3、git submodule update --init --recursive 更新库
4、安装cmake编译器
5、安装visual studio 2017勾选c++应用开发模块(因为会用到C++编译器,到时候会用vs来编译,记得选择高版本的vs,2013以下对clang不支持)
6、下载clang和llvm编译安装
7、cmake -G "Visual Studio 15 Win64" . d:/Vim/vimfiles/bundle/YouCompleteMe/third_party/ycmd/cpp -DPYTHON_LIBRARYD=d:/Python27/libs -DPYTHON_INCLUDE_DIR=d:/Python27/include(这个是不需要c-family补全的编译命令)
cmake -G "Visual Studio 15 Win64" -DPATH_TO_LLVM_ROOT=d:/llvm . d:/Vim/vimfiles/bundle/YouCompleteMe/third_party/ycmd/cpp -DPYTHON_LIBRARYD=d:/Python27/libs -DPYTHON_INCLUDE_DIR=d:/Python27/include(这个是需要c-family补全的编译命令)
8、python install.py --all
9、配置_vimrc
二、linux下:
上面四步一样
5、如果需要c-family补全就编译安装llvm和clang
6、./install.py --all
具体看https://github.com/Valloric/YouCompleteMe
另外gcc编译器需要4.9以上,4.8的自己重新编译安装。
-------------------------------------------------------------------------------------
windows下我的YCM并没有安装成功,有时间再看一下。
https://github.com/Vito-Yan/gvim