相关的环境:
win 7 x64
vs2013 community
python 2.7.10 AMD64
python 3.5 AMD64
LLVM 3.5
cmake 3.5
 
YouCompleteMe 不支持 python 2.7.11
 

一、编译vim支持python

下载vim代码,命令:
编译vim代码,使用的是VS2013社区版
具体命令:
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC"
%VCDIR%\vcvarsall.bat x86_amd64
SET TOOLDIR=C:\
%VCDIR%\bin\nmake -f Make_mvc.mak clean
%VCDIR%\bin\nmake -f Make_mvc.mak CPU=AMD64 GUI=yes OLE=yes PYTHON=%TOOLDIR%Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%Python35 DYNAMIC_PYTHON3=yes PYTHON3_VER=35 IME=yes CSCOPE=yes
 
命令是参考vim的src目录中的bigvim64。bat文件写的,具体的详细参数信息可以在相应的makefile和相应平台的说明文档中找到
 
编译生成的exe文件基本都在src目录下
整理生成文件的命令,参考,整理的并不全面
@echo off
mkdir vim74_bs
echo "create vim74_bs fodler"
copy src\*.exe vim74_bs
copy src\GvimExt\gvimext.dll vim74_bs
copy src\xxd\xxd.exe vim74_bs
 
安装vim
启动生成的install.exe安装相应的指示安装即可
 
二。安装youcompleteme
 
下载代码:
 git submodule update --init --recursive
 
进入代码目录,新建目录ycm_build
 
执行命令,生成相应的工程文件
"C:\Program Files (x86)\CMake\bin\cmake.exe" -G "Visual Studio 12 Win64" -DPATH_TO_LLVM_ROOT=D:\CrossPlatSoftware\LLVM -DUSE_CLANG_COMPLETER=1 -DEXTERNAL_LIBCLANG_PATH=D:\CrossPlatSoftware\LLVM\lib\libclang.lib -DPYTHON_LIBRARY=C:\Python27\libs\python27.lib -DPYTHON_INCLUDE_DIR=C:\Python27\include . ..\third_party\ycmd\cpp
 
使用命令编译,或者使用vs打开相应的工程文件编译
"C:\Program Files (x86)\CMake\bin\cmake.exe" --build . --target ycm_core --config Release
 
github上有更详细的编译说明
 
重要:YCM不支持 python2.7.11
 
编译的时候报错,无法找到win32.mak文件,解决方法:在相应的makefile文件中使用win32.mak的绝对路径包含即可
编译gvimext.dll时候也会碰到相同的错误,解决方法也相同
当然解决这个问题会有更好的方法,目前这种最直接
 
 

vim的编译安装及其插件YouCompleteMe安装的更多相关文章

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

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

  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. [moka同学收藏]Vim升华之树形目录插件NERDTree安装图解

    无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.她说是一个插件叫NERDTree,安装执行后的效果如下,不是你想要的效果就别安了.我的系统是Ub ...

  5. Vim升华之树形目录插件NERDTree安装图解

    来源:CSDN 作者:mybelief321 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.他说是一个插件叫NERDTree,安装执行后的效果 ...

  6. Vim升华之树形目录插件NERDTree安装图解【转】

    本文转载自:http://www.linuxidc.com/Linux/2013-06/86048.htm 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文 ...

  7. ElasticSearch 集群环境搭建,安装ElasticSearch-head插件,安装错误解决

    ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决 说起来甚是惭愧,博主在写这篇文章的时候,还没有系统性的学习一下ES,只知道可以拿来做全文 ...

  8. webstorm安装vue插件及安装过程出现的问题

    想要编辑器识别vue文件需要安装vue插件 1. 安装方法: File--> setting  -->  plugin ,点击plugin,在内容部分的左侧输入框输入vue,会出现1个关于 ...

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

    最近刚装了新系统CentOS7,想要把编码环境配置一下,使用Vim编写程序少不了使用自动补全插件,我以前用的是neocomplcache+code_complete+omnicppcomplete.但 ...

随机推荐

  1. 大数据慎行,数据管理要落实到KPI

    近年来,"大数据"一词被IT和互联网行业广泛提及,但真正落到实处的案例没有多少,大数据量支撑.数据挖掘技术.非结构化数据是阻碍的主要原因.大多数企业的信息化并没有达到到成熟水平,关 ...

  2. Unity中关于作用力方式ForceMode的功能注解

    功能注解:ForceMode为枚举类型,用来控制力的作用方式,有4个枚举成员,在以下举例中均设刚体质量为m=2.0f,力向量为f=(10.0f,0.0f,0.0f). (1)ForceMode.For ...

  3. MFC画线功能总结

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6216464.html MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始 ...

  4. [LeetCode] Gas Station 加油站问题

    There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...

  5. volley用法之 以post方式发送 json 参数

    需求是这样 我们需要发送一个post请求向服务器要参数.要求是发送的post参数也要是json格式. 简单一点的是这样的: 如果要发送的是这样简单的json格式,我们可以简单的使用map来实现: Re ...

  6. 用css3做一个正方体

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. jQuery 邮箱下拉列表自动补全

    综述 我想大家一定见到过,在某个网站填写邮箱的时候,还没有填写完,就会出现一系列下拉列表,帮你自动补全邮箱的功能.现在我们就用jQuery来实现一下. 博主原创代码,如有代码写的不完善的地方还望大家多 ...

  8. weui tabbar 切换

    Html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <met ...

  9. 虚拟机下Centos7如何设置静态IP地址

    最近在学习linux环境部署~~~~ 首先,将网络适配设置成为桥接模式 查看本机IP地址,ipconfig,记住ipv4地址和默认网关地址,等会配置的时候要用 启动Centos,进入终端模式,设置IP ...

  10. 理解javascript里的ABC--apply bind call

    一,三者共同点 js中的apply,call,bind是对于初学者比较难的概念之一,比如说我..参考几篇文章之后,统一来讲, 1.这三个函数都属于Function.prototype下面的方法,如下图 ...