博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在GVim中使用所有的Windows字体的方法
阅读量:4559 次
发布时间:2019-06-08

本文共 1275 字,大约阅读时间需要 4 分钟。

  说实话, 一直使用GVIM, 但是没能找到一个在GVIM中能用的好看的字体, 不是因为没有字体, 而是在GVIM不能使用,

GVIM默认在执行:set guifont=*选择字体时只支持等宽字体(貌似也并不是所有的等宽字体都能选择), 这导致很多的字体
不能使用, 而能使用的字体却又显示效果非常差, 很不好看, 反正我是这样觉得, 在Ubuntu下面显示效果很好...
  经测试, 不使用等宽字体,GVIM也能正常工作, 但是这么久以来, 作者为什么没有作修改? 明显, 并不是所有时候都要
使用等宽字体. 虽然Vim是写代码的利器...
  好吧, 说说修改方法(源代码修改):
    1.修改需要用到的工具:VS(VC6,VC2012等貌似都可以)
    2.下载一个你需要的版本的源代码(文件名是vim**src.zip):
    3.解压出其中的src目录
    4.找到os_mswin.c(以vim74为例)
      找到函数 int get_logfont(LOGFONT    *lf,char_u* name,HDC printer_dc,int verbose);(在第2684行处)

修改 cf.Flags = CF_SCREENFONTS | CF_FIXEDPITCHONLY | CF_INITTOLOGFONTSTRUCT;为   cf.Flags = /*CF_SCREENFONTS | CF_FIXEDPITCHONLY |*/ CF_INITTOLOGFONTSTRUCT;

      找到函数 static int CALLBACK font_enumproc(ENUMLOGFONT* elf,NEWTEXTMETRIC* ntm,int type,LPARAM lparam);(在第2608行处)

      注释掉以下两行代码,看作者的注释就可以知道.

/* Ignore non-monospace fonts without further ado */    //if ((ntm->tmPitchAndFamily & 1) != 0)    //return 1;

 

    5.用NMAKE重建EXE

      执行命令:nmake -f Make_mvc.mak GUI=yes IME=yes DEBUG=no MBYTE=yes 即可
      关于makefile的命令要求:参考Make_mvc.mak
  
    6.没有了, enjoy!
  如果不想动手的, 可以直接下载我修改后的版本, 我是用VC6.0和NMAKE编译的
  除了以上两个需要修改的地方, 源代码未作其它任何修改
  下载地址:
女孩不哭 @ 2013-06-14 05:33:08 @ http://www.cnblogs.com/nbsofer

转载于:https://www.cnblogs.com/memset/archive/2013/06/14/vim_font.html

你可能感兴趣的文章
Jq 遍历each()方法
查看>>
Android源码分析:Telephony部分–phone进程
查看>>
关于 redis.properties配置文件及rule
查看>>
WebService
查看>>
关于Java中重载的若干问题
查看>>
Java中start和run方法的区别
查看>>
二叉树_非递归先中后序_递归非递归求深度
查看>>
20181227 新的目标
查看>>
HDFS写流程
查看>>
生产环境服务器环境搭建+ 项目发布
查看>>
js按条件分类json数组,并合计同组数据(一维转换为二维)
查看>>
Exp6 信息搜集与漏洞扫描
查看>>
redis4安装
查看>>
使用命令wsimport构建WebService客户端[转]
查看>>
第八遍:链接详解
查看>>
Qt5.5 使用smtp发邮件的各种坑
查看>>
js奇葩错误 字符串传递问题
查看>>
人之初,性本恶
查看>>
springboot 端口号
查看>>
使用AChartEngine画动态曲线图
查看>>