UBUNTU 14.04 + VIM + YouCompleteMe 安裝配置


想讓你的vim具有C/CPP代碼補全功能?推薦您使用YouCompleteMe工具。配置雖然稍顯麻煩,但在我的一步步說明之下,您一定能夠做的非常好。

首先提一下幾個關鍵的工具以及其鏈接:

  Vundle:它是一個vim的插件管理器,非常好用,要安裝YouCompleteMe首先需要安裝Vundle。

  YouCompleteMe:代碼補全工具。

  CMake, llvm, clang等一些安裝YouCompleteMe依賴工具。

其實呢,所有的安裝步驟在Vundle,以及YouCompleteMe兩個地址上面已經說的很透徹了,但是因為第一次安裝,您可能沒有太多經驗,看到這么多需要安裝的工具感到頭大。下面我們一步一步來操作,我相信按照下面的操作,您一定能夠順利的完成代碼補全功能。

首先,您要保證您的vim版本號要高於7.3.584,您可以通過在終端輸入:

vim --version

來查看您的vim的版本號。如果沒有vim,您需要自己安裝。

第二步,安裝cmake

sudo apt-get install build-essential cmake

 第三步,安裝 llvm 和 clang

  到 www.llvm.org 下載相應版本的llvm和clang,因為我用的是ubuntu 14.04 64bit的系統所以我直接下載的pre-build binary版本的而不需要下載源碼再自己重新編譯了。省去了不少麻煩。

  下載完成后,直接將下載后的壓縮文件解壓,並進入其目錄

tar zxvf clang+llvm-3.7.0-amd64-Ubuntu-14.04..tar.gz
cd clang+llvm-3.7.0-amd64-Ubuntu-14.04.

   其中 *.tar.gz就是您所下載的壓縮文件。

  運行命令:

sudo cp -R * /usr/

 將目錄里的所有文件拷貝到相應的系統目錄下,然后再配置一下軟鏈接:

sudo ln -sf /usr/bin/clang++ /etc/alternatives/c++

   其中 “-sf”中 “s”代表了軟鏈接,“f”即為force的意思。

運行:clang --version 如果您看到了它的版本號,就說明 llvm 和 clang配置好了。

第四步:安裝Vundle,安裝過程請參考 https://github.com/VundleVim/Vundle.vim#about ;P.S. :如果您是第一次安裝vim,可能需要自己創建vim的配置文件,它是在 “~/ ” 目錄下的的一個隱藏文件 .vim 前面的“小點”就說明這是一個隱藏的目錄, 用 ls -a才能查看,如果沒有,請創建該目錄。即:mkdir ~/.vim

配置好Vundle , 請打開主目錄下的.vimrc文件,這個文件是按照之前安裝vundle時的步驟配置好的,請在call vundle#begin() 和 call vundle#end()  在之間添加 Plugin 'Valloric/YouCompleteMe', 另外,把begin() 和 end()之間除了Plugin 'VundleVim/Vundle.vim' 和 Plugin 'Valloric/YouCompleteMe'之外的其他PlugIn 都注釋掉把,感覺沒什么卵用。

第五步:利用Vundle安裝插件

  非常簡單,在終端中打開vim, 輸入" :PluginInstall  ", 等待Vundle安裝完畢。這可能需要花費一段時間。當vim的底欄顯示:Done!(注意不是Done with error !!!) 就表示安裝成功。

第六步:編譯YouCompleteMe, 為了不保證出錯,我用的是完全安裝的方法。

cd ~
mkdir ycm_build
cd ycm_build

   因為我要支持C/CPP的語義支持,我選擇:

cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

  這里,我選擇使用系統的libclang,因為我們也從官網下載了LLVM+Clang(該目錄下有 bin, lib, include 等文件夾),我們也可以執行:cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp 其中“~/ycm_temp/llvm_root_dir”就是我們解壓過的文件的根目錄

第七步:生成

make ycm_support_libs

 到此為止,基本的配置工作就完成了,但是還有一點瑕疵:#include <iostream>, #include <stdio> vector, 什么的都不能補全,這是因為這些頭文件的路徑沒有被找到,下面的工作就是要讓YouCompleteMe找到這些頭文件,而且,以后有什么庫文件,比如OpenCV,OPenGL什么的,都可以按照這個方法添加。

  打開 ~/下的.vimrc文件,確保查看是否有這樣一條配置:

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

 如果沒有,請修改.ycm_extra_conf.py的路徑是正確的。

  打開 ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py

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

 您可以在flags[ * ]數組的后面添加你想要的路徑,例如: stdio.h等C語言的頭文件包含在/usr/include中,那么您需要添加這樣一條

'-isystem',

‘/usr/include’,

注意,不要忘記后面的“,”。

需要CPP的補全,就需要添加:

'-isystem',

‘/usr/include/c++/4.7’,

需要什么,就添加什么,so easy .


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM