MENU

在 Windows 下编译 gVim

September 19, 2016 • Read: 3484 • 应用

本来我是不用 vim 的,后来在服务器上改点文件多了以后突然发现其实 vim 还挺好用的,于是决定尝试一下。

可惜我有很多专业相关的软件是必须跑在 Windows 下的,所以工作环境暂时只能放在 Windows 上,等我毕业后可能可以换到 Linux 或 Mac OS 下吧,现在就只能先用 Windows 了。

vim 有一个据说很好的自动补全插件 NeoComplete 是需要 Lua 支持的,可是官网上的 gVim 安装包并不支持,我又找了一个自动补全 Python 的插件 Jedi-vim,安好后总是出错,提示 Python 的支持也有问题。。。后来想可能是我 Python 安装路径比较非主流吧,不是默认的 C:\Python27 导致的。

既然这样,那么索性就自己编译一个好了,正好看到一篇文章可以当作参考。

依赖

MinGW

MinGW-14.0 (Distro):这是有人做好的一个自解压包,随便解压到一个地方就好,比如 D:\MinGW

Mysys2:这是一个新的可替代 Cygwin 的环境,采用 pacman 做包管理,有国内镜像,速度比较快。

以上二选一即可,或者你有别的环境应该也可以,我这里采用第一个。

Lua

lua-5.2.4\_Win64\_bin

lua-5.2.4\_Win64\_dllw4\_lib

下载完后放到一个目录下,如 D:\lua

Vim

Vim 仓库

官网编译好的 gVim 安装包

源码 clone 一份到随便一个地方,安装包是用来帮你配置帮助文档啊环境变量之类的,不安装也可以,编译完成就会有一份便携版的,也可以用。

源码中进入 src 目录,打开 os_mswin.c 注释掉下面的代码。

#ifndef FEAT_PROPORTIONAL_FONTS
/* Ignore non-monospace fonts without further ado */
/*
     * hzmangel: I need non-monospace fonts!
     if ((ntm->tmPitchAndFamily & 1) != 0)
        return 1;
     */
#endif

编译

进入 MinGW 目录,打开 open_distro_window.bat,切换到 vim 源码的 src 目录下,执行以下命令:

make -f Make_ming.mak GUI=yes FEATURES=HUGE MBYTE=yes IME=yes GIME=yes DYNAMIC_IME=yes OLE=yes PYTHON="C:\Python\Python27" DYNAMIC_PYTHON=yes PYTHON_VER=27 CSCOPE=yes DEBUG=no LUA="D:\Lua" DYNAMIC_LUA=yes LUA_VER=52 USERNAME=40huo [email protected] ARCH=x86-64 gvim.exe

注意 PYTHONLUA 两个参数的设置,按自己的实际情况来。

编译成功后会在当前目录下生成一个 gVim.exe,把这个文件和 D:\lua\lua52.dll 复制到安装好的 gVim 目录下,如 D:\Program Files\Vim\vim80,即可使用。

Last Modified: February 14, 2017
Archives QR Code
QR Code for this page
Tipping QR Code