天天看點

vim中YouCompleteMe插件安裝

YouCompleteMe介紹

YouCompleteMe是一款針對Vim的快速,即用型的模糊搜尋代碼補全引擎。 它有幾個補全引擎:

  • 一種基于辨別符的引擎,可以與每種程式設計語言一起工作
  • 一個基于Clang的引擎,為C / C ++ / Objective-C / Objective-C ++(從現在起被稱為“類C語言”)提供本地語義代碼補全,
  • 一個基于Jedi的Python 2和3的補全引擎(使用JediHTTP包裝器),
  • 基于OmniSharp的C#補全引擎,
  • Go的Gocode和Godef語義引擎的組合,
  • 一個基于TSServer的TypeScript補全引擎,
  • 一個基于Tern的JavaScript補全引擎,
  • 一個基于racer的Rust補全引擎,
  • 一個基于jdt.ls的Java實驗補全引擎。
  • 一個基于omnifunc的補全引擎,使用來自Vim的omnicomplete系統的資料為許多其他語言(Ruby,PHP等)提供語義補全。

安裝準備

首先保證你的vim版本為7.4.1578及以後,并且具有Python2或Python3支援,如果你的系統是ubuntu16.04及以上那麼就不用特别檢查已經足夠了。

檢查vim版本通過

vim --version

,如果版本過低,可以通過

sudo apt-get upgrade vim

更新vim版本或者通過編譯新的vim版本得到,詳細參考編譯新的vim版本參考

通過vundle安裝YouCompleteMe

安裝vundle

首先确認git已經安裝

sudo apt-get install git 
           

通過git安裝vundle

詳細的vundle安裝教程看這裡連結

這裡假設你已經會安裝vundle後

在.vimrc中添加一句

進入vim,并通過vundleInstaller安裝插件

vim
:PluginInstall
           

安裝會比較慢,畢竟YCM有270+M,等vundle中YCM這一行頭上的

>

變為

+

并且指令行的processing消失

通過

:q

退出PluginInstaller,關閉vim,這時候打開vim會發現指令行報錯,Ycmd Server SHUT DOWN,沒關系,這是正常的,到這裡還沒安裝完。

這裡隻是把YCM下載下傳到了本地并且通過Vundle建立了托管關系,YCM還需要進一步編譯

後續編譯

注意:

YCM是一個具有複合元件的插件,如果你通過Vundle更新YCM,并且ycm_core library APIs已經改變,那麼YCM會提醒你重新編譯。

安裝必要的安裝工具和編譯工具

sudo apt-get install build-essential cmake
           

注意

在更早的系統上(如ubuntu14.04),如果你使用cmake會遇到編譯問題

是以,你需要按照這樣安裝工具:

sudo apt-get install build-essential cmake3
           

確定Python頭檔案已經被安裝:

編譯含有類C語言補全支援的YCM:

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
           

以下附加語言支援選項可用:

+ C#支援:安裝Mono并在調用./install.py時添加

--cs-completer

+ GO支援:安裝Go并在調用./install.py時添加

--go-completer

+ TypeScript支援:安裝Node.js和npm,然後使用

npm install -g typescript

安裝TypeScript SDK。

+ JavaScript支援:安裝Node.js和npm,并在調用./install.py時添加

--js-completer

+ Rust支援:安裝Rust并在調用./install.py時添加

--rust-completer

+ Java支援:安裝JDK8(需要版本8),并在調用./install.py時添加

--java-completer

到這裡就應該安裝完成了,如果再打開vim沒有報錯就沒有問題了。

問題

在安裝時,遇到了YCM的.ycm_extra_conf.py 檔案找不到的報錯,原來是在安裝教程說的

~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py

這個配置檔案,在新版的YCM已經不在這個目錄上了,有兩種解決辦法,一種是按照這個目錄在YouCompleteMe目錄下面建立這個子檔案夾,建立一個

.ycm_extra_conf.py

并從github複制這個配置檔案的内容;另一種,其實這個配置檔案在本地存在,但是位置發生了改變,在.vimrc配置檔案中修改過來即可

在配置檔案的最後添加這兩行

"YouCompleteMe
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
           

儲存關閉,再打開vim,就不再有報錯了。

參考内容

安裝總體教程

http://blog.jobbole.com/58978/

https://github.com/Valloric/YouCompleteMe#ubuntu-linux-x64

解決配置檔案報錯

https://blog.csdn.net/yue7603835/article/details/53140891

http://tieba.baidu.com/p/4151717757?traceid=

繼續閱讀