现在的位置: 首页 > 综合 > 正文

vim 插件YouCompleteMe 简单安装使用

2019年05月18日 ⁄ 综合 ⁄ 共 3136字 ⁄ 字号 评论关闭

前几天一直在装这个插件,自己比较笨,思想比较局限。也是水的表现。 废话不多说了, 看看怎么装吧。
       
        其实网上到处都有相关文档, 为什么还要造轮子呢? 只是想攒下这个经历。
       
        YouCompleteMe 是GitHub上一位大神用C++完成的。很强大,可以支持很多语言,c,c++,java,php,c#,python ... ... , 还有路径,头文件补全等。简单效果截图:
       

vim 插件YouCompleteMe 简单安装和使用 - 萧然AND落叶清风L - 落叶清风L的博客

 

vim 插件YouCompleteMe 简单安装和使用 - 萧然AND落叶清风L - 落叶清风L的博客

 

vim 插件YouCompleteMe 简单安装和使用 - 萧然AND落叶清风L - 落叶清风L的博客

 vim 插件YouCompleteMe 简单安装和使用 - 萧然AND落叶清风L - 落叶清风L的博客
语法查错:

vim 插件YouCompleteMe 简单安装和使用 - 萧然AND落叶清风L - 落叶清风L的博客

 

        安装其实很简单, 只不过确实需要一点时间,用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 到指定目录就好了。)

vim 插件YouCompleteMe 简单安装和使用 - 萧然AND落叶清风L - 落叶清风L的博客

 
        等到,当前面由'>' 变成'+'时 , 表示这个插件已经安装了。
        之后就是一些简单的配置了 , 马上就成功了 :

我们现在要构建插件,使之可以使用,即要编译插件,这里我们使用自己的libclang.so 来链接 , 详细的参照YouCompleteMe下doc中文档内容 , 文档里说的很清晰。

[tutu@localhost ~]$ cd ~

[tutu@localhost ~]$ mkdir ycm_build

[tutu@localhost ~]$ cd ycm_build

[tutu@localhost ~]$ cmake -"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',

vim 插件YouCompleteMe 简单安装和使用 - 萧然AND落叶清风L - 落叶清风L的博客

 这个路径是补全C++头文件的路径,大家找到自己的改一下路径就好了。

 简单的就能用了。 安装过程还是比较简单的,自己一开始没有将该装的装好,导致很多错误。
 
 好了 , 公欲善其事,先利其器吧。

                                                                                         原文链接:http://blog.csdn.net/unhappypeople/article/details/19160243
                                                                                         --- windleaves     14.12.13/13:44

抱歉!评论已关闭.