前几天一直在装这个插件,自己比较笨,思想比较局限。也是水的表现。 废话不多说了, 看看怎么装吧。
其实网上到处都有相关文档, 为什么还要造轮子呢? 只是想攒下这个经历。
YouCompleteMe 是GitHub上一位大神用C++完成的。很强大,可以支持很多语言,c,c++,java,php,c#,python ... ... , 还有路径,头文件补全等。简单效果截图:
语法查错:
安装其实很简单, 只不过确实需要一点时间,用Vundle管理插件,下载的时候真是龟速 , 我愣是等着几K每秒的速度等到下载完成。
首先 , 你的机器需要装git , clang , vim(目前最好是7.4,需要支持python) ,cmake, llvm(一个编译器框架),Vundle .
git 大家的源里应该都有的,没有的话换源,clang , vim ,cmake,llvm 源里都有的。 Vundle需要从github上download。我的发行版是fedora 20 。
[tutu@localhost ~]$ sudo yum install git clang llvm vim cmake
静静地等待安装完毕吧。之后, 我们再用git 下载Vundle 。
[tutu@localhost ~]$ git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
这样,需要的东西暂时就是这么多。 接下来就是安装插件了:
修改你的家目录下的.vimrc (其实只是摘抄其它博客的), 如果没有自己新建一个 ,在里面添上这些:
set nu set nocompatible set noswapfile syntax on set backspace=2 set autoindent "自动对其应用到下一行 set tabstop=4 "tab 4 set shiftwidth =4 "换行自动缩进 set completeopt=menu set rtp+=~/.vim/bundle/vundle call vundle#rc() """""""""""""""""""Vundle Bundle 'gmarik/vundle' Bundle 'Valloric/YouCompleteMe' Bundle 'Valloric/ListToggle' Bundle 'scrooloose/syntastic' "语法检测插件
"""""""""""""""""""synatastic""""""""""""""""""""" let g:syntastic_check_on_open = 1 let g:syntastic_cpp_include_dirs = ['/usr/include/'] let g:syntastic_cpp_remove_include_errors = 1 let g:syntastic_cpp_check_header = 1 let g:syntastic_cpp_compiler = 'clang++' "set error or warning signs let g:syntastic_error_symbol = 'x' let g:syntastic_warning_symbol = '!' "whether to show balloons let g:syntastic_enable_balloons = 1 """""""""""""""""""YCM"""""""""""""""""""""""""""" let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' let g:ycm_seed_identifiers_with_syntax = 1 "开启关键字语法检测 let g:ycm_auto_trigger = 1 "自动触发补全 let g:ycm_semantic_triggers = { "触发条件 \ 'c' : ['->' , '.'], \ 'cpp,objcpp' : ['->','.','::'], "这里可以参照文档自己写 \} let g:ycm_confirm_extra_conf=0 let g:ycm_collect_identifiers_tags_files=1 let g:ycm_complete_in_comments=1 let g:ycm_complete_in_strings=1 filetype plugin indent on
现在就可以安装相关插件了 : 在终端下输入 vim , 再键入:BundleInstall 之后vim 就自己会开始装插件了,其中YouCompleteMe 下载的很慢 , 耐心啊(如果实在不想等,自己在终端下下载吧,git clone 到指定目录就好了。)
等到,当前面由'>' 变成'+'时 , 表示这个插件已经安装了。
之后就是一些简单的配置了 , 马上就成功了 :
我们现在要构建插件,使之可以使用,即要编译插件,这里我们使用自己的libclang.so 来链接 , 详细的参照YouCompleteMe下doc中文档内容 , 文档里说的很清晰。
[tutu@localhost ~]$ cd ~
[tutu@localhost ~]$ mkdir ycm_build
[tutu@localhost ~]$ cd ycm_build
[tutu@localhost ~]$ cmake -G "Unix Makefiles" ~/.vim/bundle/YouCompleteMe/third_party/
ycmd/cpp -DEXTERNAL_LIBCLANG_PATH=/usr/lib64/llvm/libclang.so
[tutu@localhost ~]$ make ycm_core
[tutu@localhost ~]$ make ycm_support_libs
我这里的libclang.so 的路径是这样的,大家的自己找找 find命令
[tutu@localhost ~]$ sudo find / -iname 'libclang.so'
文档里也是建议大家使用自己的链接库。所以为了避免错误,还是使用自己的clang链接库。
最后一步了 , 简单修改一下配置文件.ycm_extra_conf.py
[tutu@localhost ~]$ vim ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra
_conf.py
在文件的开始位置 flags 中添加一项 :
'-isystem',
'/usr/include/c++/4.8.3',
这个路径是补全C++头文件的路径,大家找到自己的改一下路径就好了。
简单的就能用了。 安装过程还是比较简单的,自己一开始没有将该装的装好,导致很多错误。
好了 , 公欲善其事,先利其器吧。
原文链接:http://blog.csdn.net/unhappypeople/article/details/19160243
--- windleaves 14.12.13/13:44