本来我是不用 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
下载完后放到一个目录下,如 D:\lua
。
Vim
源码 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
注意 PYTHON
和 LUA
两个参数的设置,按自己的实际情况来。
编译成功后会在当前目录下生成一个 gVim.exe,把这个文件和 D:\lua\lua52.dll
复制到安装好的 gVim 目录下,如 D:\Program Files\Vim\vim80
,即可使用。