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

原文: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, 如图:

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:\MinGW\open_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 USERDOMAIN=keeliizhou@gmail.com ARCH=x86-64 gvim.exe

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

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

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

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

如果编译出现下面的提示,说明 lua 库文件没找到,检查下 C:\lua 下面有库文件目录 include

if_lua.c:14:17: fatal error: lua.h: No such file or directory
编辑于 2016-06-25