UBUNTU 14.04 + VIM + YouCompleteMe 安裝配置

想讓你的vim具備C/CPP代碼補全功能?推薦您使用YouCompleteMe工具。配置雖然稍顯麻煩,但在個人一步步說明之下,您必定可以作的很是好。ios

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

  Vundle:它是一個vim的插件管理器,很是好用,要安裝YouCompleteMe首先須要安裝Vundle。git

  YouCompleteMe:代碼補全工具。github

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

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

首先,您要保證您的vim版本號要高於7.3.584,您能夠經過在終端輸入:數組

vim --version

來查看您的vim的版本號。若是沒有vim,您須要本身安裝。bash

第二步,安裝cmake工具

sudo apt-get install build-essential cmake

 第三步,安裝 llvm 和 clangui

  到 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 .

相關文章
相關標籤/搜索