最近vim升级到了7.3,很喜欢它的相对行号功能(:h rnu),于是就升级了,然后就毫无悬念的出问题了~
问题的原因是之前用的vim72是个改版,加上了对非等宽字体的支持,于是在vim中可以将guifontwide设置为YaHei Consolas的混合字体,不过这次升级后没找到原作者的网站,只好自己动手了。
改动在os_mswin.c中,进去后直接找mono,会看到一处注释说忽略非等宽字体,把下面那行注释掉就好,这是diff文件:
diff -r 96b2b1cca7cd src/os_mswin.c
--- a/src/os_mswin.c Mon Aug 23 12:55:47 2010 +0800
+++ b/src/os_mswin.c Mon Aug 23 13:05:17 2010 +0800
@@ -3288,8 +3288,11 @@
#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
/* Remember this LOGFONT as a "possible" */
然后直接在vs2010编译环境中用bigvim.bat来编译vim即可,如有需要可以对其中的参数进行修改。写完,收工~
Update at 2010-09-18
在xbeta的帮助下试着编译了一个可以支持取词的版本,用的是这篇文章的方法 http://xbeta.info/gvim-powerword-ciba.htm 感谢Dieken@newsmth,手边没有金山,用有道测试了一下支持取词。目前的版本相比于官方有如下改动:支持非等宽字体,支持取词,但是去掉了Perl/Lua/Ruby/Tcl的支持(因为编译的机器上没装这些软件)。支持取词改动的diff文件如下
diff -r 6768ebd0bc04 -r 213b33df021a src/gui_w32.c
--- a/src/gui_w32.c Sun Aug 08 16:38:42 2010 +0200
+++ b/src/gui_w32.c Sat Sep 18 10:37:41 2010 +0800
@@ -2298,7 +2298,11 @@
/* On NT, tell the font renderer not to "help" us with Hebrew and Arabic
* text. This doesn't work in 9x, so we have to deal with it manually on
* those systems. */
- if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)
+ if (
+#ifdef FEAT_RIGHTLEFT
+ curwin->w_p_rl &&
+#endif
+ os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)
foptions |= ETO_IGNORELANGUAGE;
/*
最后是编译好的gvim,安装官方的包后直接丢到安装目录下替换原文件即可,Enjoy~~
Pingback: 让win下的vim支持非等宽字体 « 相对用户体验
刚好有网友在推动更适合中文用户的Vim改进版,我认为相对可行的两个改进就是:支持金山词霸取词,支持非等款字体。
能否请你编译一个这样的gvim.exe,与大家共享?
请通过邮件联系。
相关文章:
《拿起画笔,描绘你心中的Vim》补充说明 http://xbeta.info/zhvim.htm
拿起画笔,描绘你心中的Vim(来自Ame的倡议) http://xbeta.info/zhvim-2.htm
修改版GVIM:支持金山词霸屏幕取词 http://xbeta.info/gvim-powerword-ciba.htm
Pingback: 支持非等宽字体、屏幕取词的gvim v7.3 | 善用佳软
Pingback: 支持非等宽字体、屏幕取词的gvim v7.3 | liansi.org
非常好的改进,如果能加进官方版本就好了!
Pingback: 支持非等宽字体、屏幕取词的gvim v7.3 | My Google Reader Share
Pingback: 支持非等宽字体、屏幕取词的gvim v7.3 | 网摘
谢谢分享!
你好,我看了你的这篇文章,但是我对于怎样用VS2010来编译gVim还是不太懂,请问你能指点一下吗?
不好意思,这几天没去后台看评论。从hg中直接checkout出来的源码中有一个.bat文件,那个就能用来编译,但是在编译前可能需要改一下里面一些解释器的路径。vs2010安装完成后有一个命令行的窗口, 它会在cmd的环境中载入VS的一些环境变量,在那个窗口中切换到vim的目录,直接运行那个.bat文件就行了。不知道这样清楚了不~
有点麻烦的问题
编译的时候 提示 无法打开包括文件 extern.h
我网上搜了一个
然后又提示 无法打开包括文件perl.h
你是想加入perl支持吗?我没有碰到过这个问题,感觉可能是perl路径设置不对。
Pingback: gvim及常用插件的安装和设置 » ReadMoon