gvim 安装YCM

gvim的插件安装笔记

1.安装vunble插件

该插件主要用于管理别的插件,借助与git,从github来下载插件,实现自动安装
前提条件是git安装正确,可以听过cnd使用,并且可以正确访问github

  • 首先从github下载vunble,https://github.com/Valloric/YouCompleteMe,拷贝至 vim安装目录/vimfiles/bundle 目录下,其中新建的bundle主要用于存放安装的插件,应该也可以用其他的名字
    git clone https://github.com/Valloric/YouCompleteMe.git
    
  • 配置 _vimrc 文件,Bundle ‘插件’,该插件将会被安装,其他的不懂 ::
    filetype off
    set rtp+=$VIM/vimfiles/bundle/vundle/
    call vundle#rc('$VIM/vimfiles/bundle/')
    Bundle 'gmarik/vundle'
    filetype plugin indent on
    Bundle 'Valloric/YouCompleteMe'
    Bundle 'Valloric/ListToggle'
    Bundle 'scrooloose/syntastic'
    filetype plugin indent on
    
  • vunble命令
    :BundleList -列举出列表中(.vimrc中)配置的所有插件
    :BundleInstall -安装列表中全部插件
    :BundleInstall! -更新列表中全部插件
    :BundleSearch foo -查找foo插件
    :BundleSearch! foo -刷新foo插件缓存
    :BundleClean -清除列表中没有的插件
    :BundleClean! -清除列表中没有的插件
    

2.安装YouCompleteMe

该插件主要用于自动补全,该插件需要编译,主要是为了三个文件,ycm_core.pyd,ycm_client_support.pyd,libclang.dll(这个要看编译的选项是否包含LLVM)
wiki上的编译指导:https://github.com/Valloric/YouCompleteMe/wiki/Windows-Installation-Guide
编译之路坎坷,看看官方的文档最有用

  • 下载插件,如果安装了vunble,则直接使用其安装命令,就会自动下载,也可以手动下载,地址:https://github.com/Valloric/YouCompleteMe.git
  • 可能在git下载代码时,下载不完全,缺少部分引用的外部模块,可以使用命令  git submodule update --init --recursive 继续下载
  • 首先进入 YouCompleteMe 的目录,新建文件夹 ycmd_build,该文件夹主要用于cmake生成的工程文件存放
  • 进入ycmd_build文件夹,执行命令:cmake -G “Visual Studio 10” -DPATH_TO_LLVM_ROOT=”C:\My\Path\To\LLVM” . ..\third_party\ycmd\cpp ,使用的vs2010,并包含了clang
  • 在 ycmd_build 找到生成的sln工程,打开,编译ycm_core和ycm_client_support 两个工程,使用release版本
  • 编译完成后,如果是使用的vunble安装的,则 YouCompleteMe 就只剩下在vimrc中配置一下,就可以了
  • _vimrc配置,从别的地方拷贝的,我使用的时候都是把注释删掉,怕出问题
    " YouCompleteMe 功能
    " 补全功能在注释中同样有效
    let g:ycm_complete_in_comments=1
    " 允许 vim 加载 .ycm_extra_conf.py 文件,不再提示
    let g:ycm_confirm_extra_conf=0
    " 开启 YCM 基于标签引擎
    let g:ycm_collect_identifiers_from_tags_files=1
    " 引入 C++ 标准库tags,这个没有也没关系,只要.ycm_extra_conf.py文件中指定了正确的标准库路径
    set tags+=/data/misc/software/misc./vim/stdcpp.tags
    " YCM 集成 OmniCppComplete 补全引擎,设置其快捷键
    inoremap <leader>; <C-x><C-o>
    " 补全内容不以分割子窗口形式出现,只显示补全列表
    set completeopt-=preview
    " 从第一个键入字符就开始罗列匹配项
    let g:ycm_min_num_of_chars_for_completion=1
    " 禁止缓存匹配项,每次都重新生成匹配项
    let g:ycm_cache_omnifunc=0
    " 语法关键字补全
    let g:ycm_seed_identifiers_with_syntax=1
    " 修改对C函数的补全快捷键,默认是CTRL + space,修改为ALT + ;
    let g:ycm_key_invoke_completion = '<M-;>'
    " 设置转到定义处的快捷键为ALT + G,这个功能非常赞
    nmap <M-g> :YcmCompleter GoToDefinitionElseDeclaration <C-R>=expand("<cword>")<CR><CR>
    
  • 最后碰到的问题
    • 启动的时候出现runtime error RR6034。。。,这个是在path中的目录下有两份msvcr90.dll, msvcp90.dll存在,我是直接把其中一个在path中的目录,给去掉了,也就是cmake的的目录
    • 启动vim的时候出现 YCM libraries found in old YouCompleteMe/python location; please RECOMPILE YCM. 错误,这个一般是因为将ycm_core.pyd等相关文件拷贝到了YouCompleteMe\python下,其实这步是多余的,编译完成的目录下的这些文件所在的目录 YouCompleteMe\third_party\ycmd 就是正确的目录,参考连接:https://github.com/Valloric/YouCompleteMe/issues/1172
在win7 X64下使用vs2013编译,命令为 "C:\Program Files (x86)\CMake\bin\cmake.exe" -G "Visual Studio 12 Win64" -DPATH_TO_LLVM=C:\LLVM . ..\third_party\ycmd\cpp
win7下使用vs2010,一直cmake无法生成相应的工程
posted @ 2015-12-04 19:25  阳光下的星星cc  阅读(1205)  评论(0编辑  收藏  举报