Windows 下使用 MinGW 编译安装 (G)vim 添加 Lua 等编程语言支持

vim 一些插件需要其它编程语言支持,比如 neocomplete 自动补全插件需要 lua
官方下载的 vim 版本是不带这种第三方语言支持的,得自己手动编译一个支持的版本。但是 Windows 下编译源代码需要选择一个 GUN 工具集,比较流行的有 Cygwin, MinGW。主要是为了使用一些编译源码的工具,比如 gcc, make等

需要下载的链接都在这里了:

我自己的电脑环境配置是:__Windows 7 SP1 64bit 企业版__

MinGW

官方的 MinGW 安装了需要自己手动选择工具再安装到系统,有个简单的办法,直接使用上页的链接下载打好包的 Distro 版本,下载完就解压到任意目录即可,我放在了 C:MinGW

Lua

下载上面链接中 Windows 64bit 中的编译好的二进制文件 和 库文件,放在一个目录,比如我放在 C:lua, 如图:

Windows 下使用 MinGW 编译安装 (G)vim 添加 Lua 等编程语言支持

Vim

去 vim 官方 github 仓库下载最新源代码,解压到任意目录。进入源码 src 目录,打开 os_mswin.c 注释掉下面的代码,这样 vim 就可以支持非等宽字体了

#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 命令窗口 (__C:MinGWopen_distro_window.bat__),cd 到 vim 源代码的 src 目录,执行以下命令:

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

注意:我系统之前安装过 python27 到 C 盘,你可以根据自己的情况选择。关于 lua 的两个参数要写对:lua 安装目录 LUA="C:Lua" 和 lua 版本 __LUA_VER=52__,其它编译语言也大同小异

如果编译成功的话不会有错误提示,并在当前目录生成 gvim.exe, 这个 exe 就是我们需要的带有 lua 支持的 vim 可执行文件,把这个文件和 C:lualua.dll 复制到你的 vim runtime文件夹,这时候就可以把 runtime 重命名一个放到其它你想要的目录,点击 gvim.exe 就可以了

第一次执行 vim 需要先注册一下,出现弹窗口点确定就行了。

进入命令模式,输出 echo has('lua') 来验证下是否已开启 lua 支持,如果显示 1 就说明 OK 了

Windows 下使用 MinGW 编译安装 (G)vim 添加 Lua 等编程语言支持

Windows 下使用 MinGW 编译安装 (G)vim 添加 Lua 等编程语言支持