YouCompleteme 环境安装

来源:互联网 发布:手机对讲机软件 编辑:程序博客网 时间:2024/04/27 21:31

先看一下我的vimrc配置文件

set nocompatible              " 去除VI一致性,必须要添加  set backspace=indent,eol,startfiletype on                  " 必须要添加  set rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()Plugin 'VundleVim/Vundle.vim'Plugin 'tpope/vim-fugitive'Plugin 'L9'Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}Plugin 'ctrlp.vim'Plugin 'incsearch.vim'Plugin 'vim-airline'Plugin 'tabular'Plugin 'YouCompleteMe'"https://zhuanlan.zhihu.com/p/24742679?refer=hack-vimcall vundle#end()            " 必须  filetype plugin indent on    " 必须 加载vim自带和插件相应的语法和文件类型相关脚本  filetype plugin onset t_Co=256 " requiredsyntax enablesyntax oncolorscheme corporationset hlsearchfiletype indent onset etset ciset cindentset shiftwidth=2autocmd FileType make setlocal noexpandtabset cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1sif has("autocmd")autocmd BufRead *.txt set tw=78autocmd BufReadPost *\ if line("'\"") > 0 && line ("'\"") <= line("$") |\ exe "normal g'\"" |\ endifendiflet g:ycm_server_python_interpreter='/usr/bin/python'let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'

首先安装bundle 通过bundle装一些常用的vim插件

http://blog.csdn.net/sinat_24820331/article/details/73044735

安装成功后不要像这样 

"Plugin 'incsearch.vim'
注释掉 否则这个插件是用不了的


在安装ycm之前 先安装llvm

http://blog.csdn.net/sinat_24820331/article/details/77884920

我安装的是llvm 3.9版本


接下来安装ycm

github clone下来源码 到.vim/bundle/下

mkdir ~/.ycm_build
cd ~/.ycm_build

关键步骤来了

我装过n多个机器我也记不得了 大部分参数都是自己摸索出来的 特别是配置cmake的参数

20170428.txt:8:cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp-DCMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bingcc -DCMAKE_BUILD_TYPE:STRING=RELEASE20170428.txt:11:cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/ur/lib/x86_64-linux-gnu/libclang-3.9.so . 20170428.txt:27: cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/oot/.vim/test/lib/libclang.so.3.9 . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp -DCMAK_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DMAKE_BUILD_TYPE:STRING=RELEASE20170531.txt:34:cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/rot/.vim/resu/lib/libclang.so.3.9 . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp -DCMAKECXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DCAKE_BUILD_TYPE:STRING=RELEASE20170531.txt:38:cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/rot/.vim/resu/lib/libclang.so.3.9 . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp -DCMAKECXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DCAKE_BUILD_TYPE:STRING=RELEASE BOOST_LIBRARYDIR:/usr/local/include/boost20170601.txt:30: cmake -G "Unix Makefiles" -DBoost_USE_STATIC_LIBS=ON -DEXTERNAL_LIBCLANG_PTH=/root/.vim/resu/lib/libclang.so.3.9 . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp -CMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gc -DCMAKE_BUILD_TYPE:STRING=RELEASE -BOOST_LIBRARYDIR:/usr/lib6420170601.txt:31:cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/rot/.vim/resu/lib/libclang.so.3.9 . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp -DCMAKECXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DCAKE_BUILD_TYPE:STRING=RELEASE -BOOST_LIBRARYDIR:/usr/lib6420170601.txt:33:cmake -G "Unix Makefiles" -DEXTERNAL_LIBCLANG_PATH=/root/.vim/resu/lib/libcang.so.3.9 . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp -DCMAKE_CXX_COMPILER:FILEPATH/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DCMAKE_BUILD_TYPE:STRINGRELEASE 20170601.txt:35: cmake -G "Unix Makefiles" -DEXTERNAL_LIBCLANG_PATH=/root/.vim/resu/lib/liblang.so.3.9 . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp -DCMAKE_CXX_COMPILER:FILEPAT=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DCMAKE_BUILD_TYPE:STRIN=RELEASE -DCMAKE_EXE_LINKER_FLAGS=-lutil20170608.txt:51:cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/rot/.vim/resu/lib/libclang.so.3.9 . ~/    .vim/bundle/YouCompleteMe/third_party/ycmd/cpp -DCAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILE    R:FILEPATH=/usr/local/bingcc -DCMAKE_BUILD_TYPE:STRING=RELEASE20170609.txt:68:cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DPYTHON_INCLUDE_DIR=/usr/iclude/python2.7 -DPYTHON_LIBRARY=/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so-DEXTERNAL_LIBCLANG_PATH=/home/hk/.vim/bundle/resu/lib/libclang-3.9.so . ~/.vim/bundle/YouCmpleteMe/third_party/ycmd/cpp20170613.txt:4:cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp-DCMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bingcc -DCMAKE_BUILD_TYPE:STRING=RELEASE20170616.txt:9:cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp-DCMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bingcc -DCMAKE_BUILD_TYPE:STRING=RELEASE -DCMAKE_EXE_LINKER_FLAGS=-Wl,-lutil,-ldl



今天安装的时候用下面的配置命令 今天又测试了一遍20170912 在阿里云centos7.2的机器上 没问题

cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++ -DCMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc -DPYTHON_INCLUDE_DIR=/usr/local/include/python2.7  -DEXTERNAL_LIBCLANG_PATH=/root/file/llvm/lib/libclang-3.9.so . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
看到别人用到了boost 但是事实证明不配置boost也没有问题 

其中的/root/file/llvm 是llvm源码安装的目录

接下来执行

cmake --build . --target ycm_core
但是这个过程又有很多坑 

特别是python 老是提示 recompile with -fPIC ... could not read symbols: Bad value

解决方案参考了 http://blog.csdn.net/tiantiandjava/article/details/17242345

终于编好 再执行

cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/

vim.rc配置文件中添加 

Plugin 'YouCompleteMe'
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
打开一个文件 测试发现vim要8.0+ 而且需要python支持 参考http://www.linuxidc.com/Linux/2015-04/116471.htm 中间又是一堆坑 python2.6 2.7 问题等等 造成vim老是加载不了python模块
./configure  --enable-pythoninterp=yes --with-python-config-dir=/usr/local/bin/python2.7-config
make make install 最终成功

上图来看看




原创粉丝点击