zoukankan      html  css  js  c++  java
  • Ubuntu16.04安装YouCompleteMe

    1.要求vim的版本在7.4.143以上,支持python2/3,通过vim --version查看。

    2.下载源码:  https://github.com/Valloric/YouCompleteMe#ubuntu-linux-x64

    3.安装Cmake:

    sudo apt-get install build-essential cmake

    4.确保安装了python的头文件:

    sudo apt-get install python-dev python3-dev

    5.在.vim/下建立目录:

    sudo mkdir ~/.vim/bundle

    然后将下载的YouCompleteMe拷贝到这个目录中。

    6.进入到这个目录编译:

    cd ~/.vim/bundle/YouCompleteMe
    
    sudo ./install.py

    出现如下提示:

    kent@ubuntu:~/.vim/bundle/YouCompleteMe$ ./install.py 
    File /home/kent/.vim/bundle/YouCompleteMe/third_party/ycmd/build.py does not exist; you probably forgot to run:
        git submodule update --init --recursive

    按照提示下载就是了:

    sudo git submodule update --init --recursive

    这个下载的时间比较长,等下载完之后重新执行:

    sudo ./install.py

    这里记得加上sudo,不然无法创建目录,会报错。

    7.我后来重新编译了YouCompleteMe:

    ./install.py --clang-completer

    自己会查找没有clang编译器,然后自己会去网上下载,等待编译完成。

    8.配置vim

    在~/.vimrc里面添加如下内容:

    set runtimepath+=~/.vim/bundle/YouCompleteMe
    let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM 基于标签引擎
    let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
    let g:syntastic_ignore_files=[".*.py$"]
    let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全
    let g:ycm_complete_in_comments = 1
    let g:ycm_confirm_extra_conf = 0
    let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']  " 映射按键, 没有这个会拦截掉tab, 导致其他插件的tab不能用.
    let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
    let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
    let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
    let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
    let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
    let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查
    inoremap <expr> <CR> pumvisible() ? "<C-y>" : "<CR>" |            " 回车即选中当前项
    nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>|     " 跳转到定义处
    "let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项

    安装到此结束。

    安装完之后发现也许没我上面写的那么复杂:

    1.直接去.vim目录下创建bundle目录。

    2.进到这个目录直接下载YouCompleteMe源码。

    3.执行./install.py --clang-completer命令,如果遇到权限问题则在前面加sudo,如果遇到clang没有则直接去sudo安装clang。

    4.最后一步就是配置VIM。

    安装好YouCompleteMe之后不知道怎么配置,参考了下面链接,在此非常感谢:

    http://www.linuxidc.com/Linux/2017-02/141088.htm

  • 相关阅读:
    原生js ajax与jquery ajax的区别
    ajax的五大步骤
    js中setTimeout()时间参数设置为0的探讨
    js数组与字符串的相互转换方法
    javascript的三个组成部分
    linq 获取不重复数据,重复数据 var unique = arr.GroupBy(o => o).Where(g => g.Count() == 1) .Select(g => g.ElementAt(0));
    C# 随机 抽奖 50个随机码 不重复
    聚集索引和非聚集索引 聚集索引的叶节点就是最终的数据节点,而非聚集索引的叶节仍然是索引节点,但它有一个指向最终数据的指针。
    WPF ControlTemplate,DataTemplate
    C# 实现 奇数偶数排序,奇数在前,偶数在后
  • 原文地址:https://www.cnblogs.com/kent-hu/p/8443480.html
Copyright © 2011-2022 走看看