YouCompleteMe號稱vim最難安裝的插件,是過低估它了,我以爲只是目前我遇到的最難安裝的一個軟件。python
YouCompleteMe是用c++寫的,要想補全c-family須要用clang編譯。linux
clang是蘋果基於llvm架構開發的編譯器,具備強大的語義分析能力,在它沒有出現以前,emacs和vim的自動補全爛了幾十年,它的目標是超越gccc++
而YouCompleteMe下層用c++寫的用到了clang語義補全的引擎,上層用Python封裝。想要安裝它並不是易事,涉及到不少底層的東西。git
在這裏我簡單羅列出兩種環境下的安裝步驟:windows下gvim和linux下的vimgithub
1、windows下:vim
一、安裝gvim支持Python(vim --version,Python前面有+號,表示支持,若是沒有須要本身編譯安裝對Python的支持。剛說了YouCompleteMe用Python封裝,沒有對Python的支持後面都會白作,一身冷汗。)windows
二、git到~/vimfiles/bundle/ 地址:https://github.com/Valloric/YouCompleteMe架構
三、git submodule update --init --recursive 更新庫插件
四、安裝cmake編譯器開發
五、安裝visual studio 2017勾選c++應用開發模塊(由於會用到C++編譯器,到時候會用vs來編譯,記得選擇高版本的vs,2013如下對clang不支持)
六、下載clang和llvm編譯安裝
七、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補全的編譯命令)
八、python install.py --all
九、配置_vimrc
2、linux下:
上面四步同樣
五、若是須要c-family補全就編譯安裝llvm和clang
六、./install.py --all
具體看https://github.com/Valloric/YouCompleteMe
另外gcc編譯器須要4.9以上,4.8的本身從新編譯安裝。
-------------------------------------------------------------------------------------
windows下個人YCM並無安裝成功,有時間再看一下。
https://github.com/Vito-Yan/gvim