Windows 10环境安装VIM代码补全插件YouCompleteMe
折腾一周也没搞定Windows下安装VIM代码补全插件YouCompleteMe,今天在家折腾一天总算搞定了。关键问题是在于Python环境:必须确保环境变量Path里只有一个python.exe。
ycmd是client-server架构。ycmd本身是server,可以为多种客户端所用,如VIM/YouComplete,emacs/emacs-ycmd等。服务端有不同引擎,如clang补全c-familiy语言,其他引擎如可以补全javascript,python,c#等。
因为我想把ycmd用在其他环境,故这里把ycmd与YouCompleteMe分开设置。这与官网上的教程不太一致。
0. 依赖
下载最新版安装就可,并把所有安装路径加到环境变量Path里去。必须确保环境变量Path里面只有一个python.exe和它的dll,否则编译能通过,但运行出错。我这一个星期的折腾都是因为这个,好郁闷。可以运行命令where python来检查,只有一条输出就可以了。
1. ycmd
打开cmd.exe, 运行:
cd %USERPROFILE%
git clone https://github.com/Valloric/ycmd.git ycmd.git
cd ycmd.git
git submodule update --init --recursive
python build.py --clang-completer
cd examples
pip install -r requirements.txt
python example_client.py
其他第五步编译时间较长,编译完后检查有无错误。第8步有些错误输出,但只要python代码无错误,服务能起来就好。
2. VIM
上VIM官网下载最新版安装即可,并把安装路径加入环境变量Path.
3. YouCompleteMe
打开cmd.exe, 运行:
cd %USERPROFILE%
git clone https://github.com/Valloric/YouCompleteMe.git YouCompleteMe.git
cd YouCompleteMe.git
cd third_party
rename ycmd ycmd.bak
mklink /J ycmd ..\..\ycmd.git
按照YouCompleteMe的默认设置,ycmd目录在YouCompleteMe目录下,故这里我们创建一个链接到ycmd.git.
打开gvim配置文件_vimrc,加入一行:
set rtp+=%USERPROFILE%/YouCompleteMe.git
保存,用gvim打开一个.cc文件,若无错误提示,则配置成功。我这里提示python import module requests_futures错误,用pip安装即可:
pip install requests_futures