按照网上的教程安装该软件,没有一篇是成功的(也有可能是没找对)。自己从网上东拼西凑的,终于让自己的vim智能识别了。

1. 升级 vim: (ubuntu)

  1. sudo add-apt-repository ppa:jonathonf/vim
  2. sudo apt update
  3. sudo apt install vim
  4.  
  5. 2. 安装vundle
    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
  6.  
  7. 3.下载ycm
    cd ~/.vim/
    git clone --recursive https://github.com/Valloric/YouCompleteMe.git
    cd ~/.vim/bundle/YouCompleteMe
  1. git submodule update --init --recursive
  2. 4. 安装libclang
  1. apt-get install llvm-3.9 clang-3.9 libclang-3.9-dev libboost-all-dev
  2.  
  3. 5. 编译ycm_core
    mkdir 123 && cd 123
  4. cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
    或者
    cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-3.9.so . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp #未验证
  5.  
  6. cmake --build . --target ycm_core --config Release
  7.  
  8. 6. 配置
    #perl警告处理
    echo "export LC_ALL=C" >> /root/.bashrc
    source /root/.bashrc
  9.  
  10. cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/
  11.  
  12. 配置vimrc
    "~/.vimrc
    let g:ycm_server_python_interpreter='/usr/bin/python2.7'      " 当时编译python的版本
    let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
  13.  
  14. set nocompatible " be iMproved
    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()
  15.  
  16. "let Vundle manage Vundle
    " required!
    Bundle 'scrooloose/syntastic'
    Bundle 'gmarik/vundle'
  17.  
  18. " My bundles here:
    "
    " original repos on GitHub
    Bundle 'tpope/vim-fugitive'
    Bundle 'Lokaltog/vim-easymotion'
    Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
    Bundle 'tpope/vim-rails.git'
    " vim-scripts repos
    Bundle 'L9'
    Bundle 'FuzzyFinder'
    " non-GitHub repos
    Bundle 'git://git.wincent.com/command-t.git'
    " Git repos on your local machine (i.e. when working on your own plugin)
    Bundle 'file:///Users/gmarik/path/to/plugin'
    " ...
    Bundle 'Valloric/YouCompleteMe'
    filetype plugin indent on " required!
    " 编码为utf-8
    set fileencodings=utf-8,gb2312,gbk,gb18030
    set termencoding=utf-8
    set encoding=utf-8
  19.  
  20. " YouCompleteMe
  1. set runtimepath+=~/.vim/bundle/YouCompleteMe
  2. let g:ycm_collect_identifiers_from_tags_files = 1 " 开启 YCM 基于标签引擎
  3. let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
  4. let g:syntastic_ignore_files=[".*\.py$"]
  5. let g:ycm_seed_identifiers_with_syntax = 1 " 语法关键字补全
  6. let g:ycm_complete_in_comments = 1
  7. let g:ycm_confirm_extra_conf = 0
  8. let g:ycm_key_list_select_completion = ['<c-n>', '<Down>'] " 映射按键, 没有这个会拦截掉tab, 导致其他插件的tab不能用.
  9. let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
  10. let g:ycm_complete_in_comments = 1 " 在注释输入中也能补全
  11. let g:ycm_complete_in_strings = 1 " 在字符串输入中也能补全
  12. let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
  13. let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
  14. let g:ycm_show_diagnostics_ui = 0 " 禁用语法检查
  15. inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" | " 回车即选中当前项
  16. nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>| " 跳转到定义处
  17. "let g:ycm_min_num_of_chars_for_completion=2 " 从第2个键入字符就开始罗列匹配项
  1. 显示结果:
  1.  

vim 智能提示插件 YouCompleteMe安装的更多相关文章

  1. vim 智能提示插件 javacomplete安装

    *** 从https://github.com/vim-scripts/javacomplete网站中下载javacomplete *** 新建javacomplete-master文件夹,将java ...

  2. 【转】Vim自动补全插件----YouCompleteMe安装与配置

    原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assis ...

  3. Vim自动补全插件----YouCompleteMe安装与配置

    Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用 ...

  4. 如何取消MSSQL自带智能提示步骤,使用第三方智能提示插件

    步骤1如下: [工具]——[选项]——[文本编辑器]——[Transact-SQL]——[IntelliSense]——[Transact-SQL IntelliSense 设置]——(取消选择)—— ...

  5. jQuery打造智能提示插件二(可编辑下拉框)

    在上一篇 jQuery打造智能提示插件 上改进,增加下拉按钮,修复点击下拉区域外不隐藏BUG 效果 下拉按钮素材: js封装,注意红色部分为BUG修复,然后传入boxwidth不带px: /* /// ...

  6. sqlserver 智能提示插件

    文章:SqlServer智能提示插件SQLPrompt 地址:https://blog.csdn.net/u013628152/article/details/83274478

  7. CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置

    备注:现在对于 YouCompleteMe 的安装应采用更为简单的方法,即利用 Vundle 来安装这个插件.具体方法可见: Vundle 主页 YouCompleteMe 主页 而 .vimrc 的 ...

  8. Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)

    使用 PulginInstall 安装就不要想了,如果你没有梯子的话 自己的 ssr 被封,使用的同事的 ss,但是同事设置的加密方式在 linux 上的 ss 应用不支持... 好吧,直接上过程 1 ...

  9. Python | 安装和配置智能提示插件Anaconda (转)

    作为Python开发环境的Sublime Text 3,有了Anaconda就会如虎添翼.Anaconda是目前最流行也是最有威力的Python代码提示插件. 工具/原料   Sublime Text ...

随机推荐

  1. 常用的邮箱服务器(SMTP、POP3)地址、端口

    sina.com: POP3 服务器地址:pop3.sina.com.cn(端口:110) SMTP 服务器地址:smtp.sina.com.cn(端口:25) sinaVIP: POP3 服务器:p ...

  2. lnmp环境下nginx配置‘负载均衡’

    NGINX负载均衡分发请求的几种方式: 1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.2.weight 指定轮询几率,weight和访问比率成正比 ...

  3. GPRS研究(3):NO CARRIER错误的含义解释

    NO CARRIER(必须是大写)是一个由猫向其所附着的设备(典型的就是一个计算机)发来的文本响应信息,表示猫没有连接到远程系统.NO CARRIER是由Hayes指令集定义的,由于Hayes猫的普及 ...

  4. ECharts属性设置

    theme = { // 全图默认背景 // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87cefa','#da70d ...

  5. jmeter报告优化---展示详细信息

    参考文档:https://www.cnblogs.com/puresoul/p/5049433.html 楼上博主写的还是很详细,在报告优化这块,但是在操作中也走了一些弯路,我改动了两个点才成功,根据 ...

  6. itext-2.1.7.jar

    iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. ...

  7. linux一切皆文件之文件描述符

    一.知识准备 1.在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件.如:普通文件.目录.字符设备.块设备.套接字等2.当一个文件被进程打开,就会创建一个文件描述符.这时候,文件的路径就成 ...

  8. 你真的了解现在的PHP吗?

    前段时间,公司的项目从PHP5.3升级到PHP7,现在项目里开始使用PHP7的一些新语法和特性.反观PHP的5.4.5.5.5.6版本,有点认知缺失的感觉.所以,决定看<Modern PHP&g ...

  9. 关于$NOIP2017$的题目讲解

    关于\(NOIP2017\)的题目讲解 1.小凯的疑惑 题目描述: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法 ...

  10. linux c 获取当前时间 毫秒级的 unix网络编程

    #include <time.h> #inlcude <sys/time.h> char *gf_time(void) /* get the time */{ struct t ...