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 .

相关文章
相关标签/搜索