安裝YCM

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

不過,我執行了make install 對llvm進行了安裝,此時llvm被安裝在/usr/local/目錄下

3.編譯YCM支持庫

cd /usr/local/
mkdir ycm_build 
cd ycm_build 
cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/usr/local/ . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
make ycm_support_libs

最終在~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp目錄中生成了ycm_client_support.so、ycm_core.so、libclang.so三個共享庫文件,編譯成功。

具體可以參考:

所需即所獲:像 IDE 一樣使用 vim


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章