Skip to content

Vim 安装 YouCompleteMe

本人使用的是Macvim使用的配置是spf-13

虽然里面已经集成黑多插件了,但是由于最近本人折腾起了 C\C++,然后想在 Vim 上面进行基本的代码编辑,主要是一开始项目比较小,都是运行一些简单的 Demo,所以在 vim 上面基本能满足需求,自己也在 Mac 上面安装 VS code 然后配置了 C\C++的开发环境。至于为什么还是想要在 Vim 上面进行代码编辑呢?只是本人自己想使用 Vim 而已,也趁这个机会,提高自己在 Vim 上面的编码效率,还有 Vim 的一般使用,也没特别的需求。

步骤

配置.vimrc

在文件的最后加上一下内容

Plugin 'Valloric/YouCompleteMe'

然后在 Vim 里面运行以下命令安装 YouCompleteME

PluginInstall

整个过程比较久,请耐心稍等,直到项目下载完成,整个项目下载下来有好几百 M。

安装 cmake

brew install cmake

下载 LLVM+Clang

下载地址:http://llvm.org/releases/download.html

  • Clang for x86_64 Ubuntu 14.04 (.sig)
  • Clang for x86_64 Ubuntu 16.04 (.sig)
  • Clang for Mac OS X (.sig)

自己看好自己的系统下载对应的软件,别下载错了

下载之后解压到~/ycm_temp/llvm_root_dir 看好目录名称,你自己随意,但是我后面的代码按这个目录来进行运行,所以如果你不是这个名字,你自己在命令行中自行改正。

正式编译安装 ycm_core

在根目录下创建一个新文件夹,其中将放置构建文件。 运行以下命令:

cd ~
mkdir ycm_build
cd ycm_build

需要 C 族语言的语义支持,还得分几种情况:

  • 从 llvm 的官网下载了 LLVM+Clang 的二进制包(也就是上面下载的东西)本人使用这种方法

解压到:~/ycm_temp/llvm_root_dir

文件夹中含有bin,lib,include等文件夹

然后执行:

cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

自己看清楚你的YouComplete是不是在上面的目录

  • 如果想用系统的 libclang:
cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
  • 如果想用自定义的 libclang:
cmake -G "Unix Makefiles" -DEXTERNAL_LIBCLANG_PATH=/path/to/libclang.so . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

至此,makefile已生成,运行以下命令

cmake --build . --target ycm_core --config Release

最后如果你想添加 C 的支持的话,进入目录

~/.vim/bundle/YouCompleteMe/master/

./install.py --clang-completer

最后在.vimrc添加以下内容

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

请自行查看你的目录是不是上面的目录,如果不是的话请自行改成自己本地的路径

然后重启 Vim,尝试编辑代码一下,如果出现左边那种>>则表示安装成功了

如果没有这样子的>>的箭头,则在 Vim 运行一下命令

:YcmRestarServer

即可出现箭头。