YouCompleteMe号称vim最难安装的插件,是太低估它了,我觉得只是目前我遇到的最难安装的一个软件。

YouCompleteMe是用c++写的,要想补全c-family需要用clang编译。

clang是苹果基于llvm架构开发的编译器,具有强大的语义分析能力,在它没有出现之前,emacs和vim的自动补全烂了几十年,它的目标是超越gcc

而YouCompleteMe下层用c++写的用到了clang语义补全的引擎,上层用Python封装。想要安装它并非易事,涉及到很多底层的东西。

在这里我简单罗列出两种环境下的安装步骤:windows下gvim和linux下的vim

一、windows下:

1、安装gvim支持Python(vim --version,Python前面有+号,表示支持,如果没有需要自己编译安装对Python的支持。刚说了YouCompleteMe用Python封装,没有对Python的支持后面都会白做,一身冷汗。)

2、git到~/vimfiles/bundle/ 地址:https://github.com/Valloric/YouCompleteMe

3、git submodule update --init --recursive 更新库

4、安装cmake编译器

5、安装visual studio 2017勾选c++应用开发模块(因为会用到C++编译器,到时候会用vs来编译,记得选择高版本的vs,2013以下对clang不支持)

6、下载clang和llvm编译安装

7、cmake -G "Visual Studio 15 Win64" . d:/Vim/vimfiles/bundle/YouCompleteMe/third_party/ycmd/cpp -DPYTHON_LIBRARYD=d:/Python27/libs -DPYTHON_INCLUDE_DIR=d:/Python27/include(这个是不需要c-family补全的编译命令)

cmake -G "Visual Studio 15 Win64" -DPATH_TO_LLVM_ROOT=d:/llvm . d:/Vim/vimfiles/bundle/YouCompleteMe/third_party/ycmd/cpp -DPYTHON_LIBRARYD=d:/Python27/libs -DPYTHON_INCLUDE_DIR=d:/Python27/include(这个是需要c-family补全的编译命令)

8、python install.py --all

9、配置_vimrc

二、linux下:

上面四步一样

5、如果需要c-family补全就编译安装llvm和clang

6、./install.py --all

具体看https://github.com/Valloric/YouCompleteMe

另外gcc编译器需要4.9以上,4.8的自己重新编译安装。

-------------------------------------------------------------------------------------

windows下我的YCM并没有安装成功,有时间再看一下。

https://github.com/Vito-Yan/gvim

vim学习之安装YouCompleteMe的更多相关文章

  1. Vim和Neovim安装YouCompleteMe

    确定支持Python,Vim一般支持,Neovim默认不支持 Vim的就不介绍方法了,很多系统都不一样.Neovim添加Python支持 pip install setuptools pip inst ...

  2. vim的编译安装及其插件YouCompleteMe安装

    相关的环境: win 7 x64 vs2013 community python 2.7.10 AMD64 python 3.5 AMD64 LLVM 3.5 cmake 3.5   YouCompl ...

  3. vim安装YouCompleteMe 插件

    要安装YouCompleteMe ,vim须支持python.看是否支持,可以在vim中:version 查看, 如果python前有+号,就是支持,减号就是不支持. 如果不支持,需要以编译安装方式重 ...

  4. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  5. 解决安装YouCompleteMe与Vim版本不兼容问题

    用vim 7.4.4版本装YouCompleMe的时候提示这样的信息: YouCompleteMe unavailable: requires Vim 7.4.1578+.明明版本比它要求的还高,居然 ...

  6. vim学习、各类插件配置与安装【转】

    转自:https://www.cnblogs.com/forest-wow/p/6916531.html 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶 ...

  7. Vim使用Vundle安装代码补全插件(YouCompleteMe)

    安装 Vundle 它的使用方法很简单,安装一个插件只需要在 ~/.vimrc 按照规则中添加 Plugin 的名称,某些需要添加路径,之后在 Vim 中使用:PluginInstall既可以自动化安 ...

  8. 给vim安装YouCompleteMe

    要安装YouCompleteMe ,vim须支持python.看是否支持,可以在vim中:version 查看, 如果python前有+号,就是支持,减号就是不支持. 如果不支持,需要以编译安装方式重 ...

  9. Linux c++ vim环境搭建系列(3)——Ubuntu18.04.4编译安装youcompleteme

    3. youcompleteme编译安装 参考网址: https://github.com/ycm-core/YouCompleteMe#linux-64-bit 建议不要用这个博客的方法: http ...

随机推荐

  1. Android 9.png图片的制作方法

    在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式".9.png".这种图片是用于Android开发的一种 ...

  2. NOIP经典基础模板总结

    date: 20180820 spj: 距离NOIP还有81天 目录 STL模板: priority_queue 的用法:重载<,struct cmpqueue 的用法 stack 的用法vec ...

  3. urls 管理

    问题阐述:如何管理多个app下的路由分发,使得管理更加清晰? 1. 在app下创建urls.py文件 from django.conf.urls import url from django.urls ...

  4. 单片机pwm控制基本原理详解

    前言 PWM是Pulse Width Modulation的缩写,它的中文名字是脉冲宽度调制,一种说法是它利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,其实就是使用数字信号达到一个模拟信 ...

  5. poj 3279 Fliptile(二进制搜索)

    Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He ha ...

  6. jsp (2)

    一.内置对象: 二.如何在代码中使用js代码: <script type="text/javascript" src="js的路径名"></s ...

  7. 51Nod--1076 2条不相交的路径(强连通分量)

    电波 #include<bits/stdc++.h> using namespace std; #define LL long long #define maxn 30000 vector ...

  8. A1138. Postorder Traversal

    Suppose that all the keys in a binary tree are distinct positive integers. Given the preorder and in ...

  9. SQL问题+知识点总结总

    1.SQL中的内置函数有哪些?(Count.Sum.Avg.Max.Min) 2.SQL查询语句的执行顺序.(先执行from语句,再执行条件语句,最后执行Select 语句投影查询信息) 3.Havi ...

  10. java利用线程池处理集合

    java利用线程池处理集合 2018年07月23日 17:21:19 衍夏成歌 阅读数:866   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/s ...