

Windows 下使用 MinGW 编译安装 (g)vim 添加 lua 等编程语言支持
source link: https://keelii.com/2016/06/14/compile-vim-on-windows-with-lua-support/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

vim 一些插件需要其它编程语言支持,比如 neocomplete 自动补全插件需要 lua 官方下载的 vim 版本是不带这种第三方语言支持的,得自己手动编译一个支持的版本。但是 Windows 下编译源代码需要选择一个 GUN 工具集,比较流行的有 Cygwin, MinGW。主要是为了使用一些编译源码的工具,比如 gcc, make等
需要下载的链接都在这里了:
我自己的电脑环境配置是:Windows 7 SP1 64bit 企业版
MinGW
官方的 MinGW 安装了需要自己手动选择工具再安装到系统,有个简单的办法,直接使用上页的链接下载打好包的 Distro 版本,下载完就解压到任意目录即可,我放在了 C:\MinGW
下载上面链接中 Windows 64bit 中的编译好的二进制文件 和 库文件,放在一个目录,比如我放在 C:\lua, 如图:
去 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 [email protected] 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 了
编译问题更新
发现编译完直接使用会有 「找不到 VIMRUN.EXE」提示,解决方法:从官方安装版的 vim 根目录把 vimrun.exe 复制到你的 runtime 文件夹下即可
知友 @fantiq 反馈某些情况下会报下面的错误,原因可能是 MinGW 下的 mkdir 命令有问题,无法创建目录,手动执行mkdir gobjx86-64
就可以解决了
mkdir -p gobjx86-64
process_begin: CreateProcess(NULL, mkdir -p gobjx86-64, ...) failed.
make (e=2): 系统找不到指定的文件。
make: *** [Make_cyg_ming.mak:860: gobjx86-64] Error 2
Recommend
-
15
编译安装Redis及使用systemd管理 OS redis 版本 防火墙和selinux CentOS7 4.0.14 关闭 ...
-
12
Windows 编译安装和使用Redis最新版 — 浮云的博客之前一直在Linux上使用Redis,最近需要在Windows上使用Redis。网上找了一圈教程,大部分教程都是用2016年编译的3.2版本的远古版本,有些比较新的教程是在WSL中安装Redis。 但我不想为了一个Redis而安装WS...
-
9
V2EX › 程序员 为什么 Typescript 不添加条件编译这个功能? liuidetmks · 13 小时 50...
-
15
yum安装的Nginx添加模块支持tcp 原创 wemux 2022-05-26 13:17:23...
-
15
K8s:Windows 下安装 Kubernetes 开源IDE OpenLens 并添加集群 我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ——赫尔曼·黑塞《德米安》 分享一个桌面端的 k8s IDE OpenLens
-
8
V2EX › 分享创造 给编程语言依赖包搜索结果添加 Github star 和 fork 数量,让效率更高一点!
-
5
编译安装支持vvc(h266)的ffmpeg6.0 2023-04-07 ffmpe...
-
9
AlmaLinux 编译安装支持EDNS的Unbound 网络上能搜到的unbound搭建教程很多,但编译安装的却很少,且配置文件并不适合生产环境使用,所以写了这篇教学 编译安装unbound dnf install -y hiredis-devel...
-
16
编译安装支持vvc的ffmpeg6,更优雅的方法 2023-06-06 ...
-
11
OpenWrt 编译 LuCI -> Applications 添加插件应用说明-L大 OpenWrt 编译 LuCI —> Applications 添加插件应用说明 【人人为我,我为人人】 2021.11.18 更新 !!! make menuconfig 进入定制界面 进入编...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK