zoukankan      html  css  js  c++  java
  • 给vim安装YouCompleteMe

    要安装YouCompleteMe ,vim须支持python。看是否支持,可以在vim中:version 查看, 如果python前有+号,就是支持,减号就是不支持。

    如果不支持,需要以编译安装方式重新安装vim。

    编译配置选项:

    ./configure --with-features=huge --enable-pythoninterp --enable-python3interp --enable-luainterp --enable-multibyte --enable-sniff --enable-fontset

    在我的机器上装有python2.7.5 和 python3.3, 但加了enable-python3interp参数依然没有支持py3,不知何故,先不管,YouCompleteMe 只要求有py2.6以上。

    安装vundle插件

    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

    在.vimrc中配置

    set nocompatible              " be iMproved, required
    filetype off                  " required
    
    " set the runtime path to include Vundle and initialize
    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()
    " alternatively, pass a path where Vundle should install plugins
    "let path = '~/some/path/here'
    "call vundle#rc(path)
    
    " let Vundle manage Vundle, required
    Plugin 'gmarik/vundle'
    
    " The following are examples of different formats supported.
    " Keep Plugin commands between here and filetype plugin indent on.
    " scripts on GitHub repos
    Plugin 'tpope/vim-fugitive'
    Plugin 'Lokaltog/vim-easymotion'
    Plugin 'tpope/vim-rails.git'
    " The sparkup vim script is in a subdirectory of this repo called vim.
    " Pass the path to set the runtimepath properly.
    Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
    " scripts from http://vim-scripts.org/vim/scripts.html
    Plugin 'L9'
    Plugin 'FuzzyFinder'
    " scripts not on GitHub
    Plugin 'git://git.wincent.com/command-t.git'
    " git repos on your local machine (i.e. when working on your own plugin)
    Plugin 'file:///home/gmarik/path/to/plugin'
    " ...
    
    filetype plugin indent on     " required
    Bundle 'Valloric/YouCompleteMe'

      保存退出,打开vim,输入 :BundleInstall 进行自动安装

    进程如下,+号表示已经安装,>表示正在安装。

    . Plugin 'gmarik/vundle' |~
    + Plugin 'tpope/vim-fugitive' |~
    + Plugin 'Lokaltog/vim-easymotion' |~
    + Plugin 'tpope/vim-rails.git' |~
    + Plugin 'rstacruz/sparkup' |~
    + Plugin 'L9' |~
    + Plugin 'FuzzyFinder' |~
    > Plugin 'git://git.wincent.com/command-|~
    t.git' |~
    Plugin 'file:///home/gmarik/path/to/pl|~
    ugin' |~
    Plugin 'Valloric/YouCompleteMe' |~
    Helptags
    

    结束时有个错误,这是正常的,因为ycm需要手工编译出库文件

    Done! With errors; press l to view log
    ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need
    to compile YCM before using it. Read the docs!

    到 .vim/bundle/YouCompleteMe 下跑

     ./install.sh --clang-completer

    参数是为了支持c/c++ 的补全。

    安装完成后进行一些简单的配置就可以使用。

    YouCompleteMe 的补全配置文件在/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py,这是个隐藏文件。

    默认会使用这个文件,也可以把这个文件copy到工程的根目录中作修改,打开工程文件时会优先使用当前目录下的配置文件。

    如果找不到,会根据配置中的ycm_global_ycm_extra_conf 进行查找。

    在.vimrc 中添加

    let mapleader = ","  " 这个leader就映射为逗号“,”

    let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'   “配置默认的ycm_extra_conf.py
    nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>   “按,jd 会跳转到定义
    let g:ycm_confirm_extra_conf=0    “打开vim时不再询问是否加载ycm_extra_conf.py配置
    let g:ycm_collect_identifiers_from_tag_files = 1 "使用ctags生成的tags文件

  • 相关阅读:
    线性支持向量机分类
    字符识别--模型集成
    字符识别--模型的训练与验证
    反射案例当中pro.load()报错问题的解决
    字节码对象功能
    BS案例服务器之系统找不到指定路径
    内部类接口实现线程
    多个异常,一次捕获,多次处理
    Objects.requireNonNull
    intellij idea编译java出现kotlin:connecting to daemon
  • 原文地址:https://www.cnblogs.com/reddusty/p/5134651.html
Copyright © 2011-2022 走看看