相关的环境:
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. js控制div滚动条,滚动滚动条使div中的元素可见并居中

    1.html代码如下 <div id="panel"> <div id="div1"></div> <div id=& ...

  2. Java实现office文档与pdf文档的在线预览功能

    最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...

  3. Webform:Session、Cookie对象的用法

    Session 优点:1.使用简单,不仅能传递简单数据类型,还能传递对象.  2.数据量大小是不限制的. 缺点:1.在Session变量存储大量的数据会消耗较多的服务器资源. 2.容易丢失. 使用方法 ...

  4. web视频添加webvtt字幕测试

    1.使用MP4硬字幕,如下, 2.使用HTML5 添加webvtt字幕,可惜到现在还没有测试成功.

  5. [LeetCode] Remove K Digits 去掉K位数字

    Given a non-negative integer num represented as a string, remove k digits from the number so that th ...

  6. [LeetCode] Two Sum 两数之和

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  7. 类EF框架Chloe.ORM升级:只为更完美

    扯淡 Chloe.ORM:一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接 ...

  8. oracle日常——数据库备份

    1.进入cmd 2.运行命令 exp [scott]/[orcl]@[orcl] file=[d:\oracle_back\scott_orcl.dmp] owner=scott 格式如下: exp ...

  9. java 导出word 并下载

    记录一下导出操作 源码: /************ * 导出word 并下载 * @param id 房号记录编号 * ***********************/ @RequestMappin ...

  10. C#中out和ref之间的区别【转】

    首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所 ...