之前在vim下一直是用幼圆看中文(参见我的另一篇文章:Vim(gvim)编程字体推荐),效果其实还是很不错的,但是对于开启了cleantype的系统来说,微软雅黑可能是一个更好的选择。
后来也有朋友说很想在gvim下面使用微软雅黑,所以这次就和大家分享一下。
之前不使用微软雅黑的原因也是很明显的,因为gvim默认的字体列表里面并不支持微软雅黑,至于原因网上也都说的很清楚了,也有人自己编译了gvim的全字体版提供下载,但是相信大部分人是和我一样,宁愿改字体也不想改gvim(vim)本身吧,呵呵。
但是呢!只要vimer们想做的事情,那就绝对没有做不到的!~~~~
下面秀一下我的gvim中使用微软雅黑+Bitstream vera sans mono的样子~~
10px(适合<14英寸屏幕)
10.5px(适合>17英寸屏幕)
哈哈,怎么样,是不是比幼圆精致很多啊!赶紧去试一下吧!~~
分别的配置代码如下:
10px
set guifont=Bitstream_Vera_Sans_Mono:h9:cANSI
set gfw=Yahei_Mono:h10:cGB2312
10.5px
set guifont=Bitstream_Vera_Sans_Mono:h10:cANSI
set gfw=Yahei_Mono:h10.5:cGB2312
下面是字体下载~~~~~
http://behindchoice.blogbus.com/logs/34753324.html
希望大家使用愉快~~~
Forrest on #
哈哈!终于用上了雅黑了,谢谢!
Reply
Dante on #
呵呵,不用客气~~~
Reply
isunbo on #
这个不错O(∩_∩)O~
Reply
Allen on #
很感谢!很不错!
Reply
Dante on #
哈哈,不客气~~~
Reply
mhsy2003 on #
Window下为什么无效?
Reply
Dante on #
不会啊,这篇文章就是给windows下的gvim使用的~~
Reply
wind on #
之前也用的雅黑,不过因为某些个人的原因,决定还是使用新宋体,字体的清晰度更高一些。对于一些比较繁杂的字来说显示的更清楚。
感谢你的代码了,的确很好用,可以另外设一个中文的显示字体。
Reply
Dante on #
呵呵,过年刚回来,刚能上网,新年快乐~~
不用客气,有用就好~~
Reply
cuxnil on #
谢谢分享经验,有一个问题请教一下
我在windows下设置set gfw这条命令不起作用,只能用set guifont。
我用的是原版GVIM,请问你是不是在配置里还做了别的设置?
Reply
Dante on #
_vimrc的文件格式需要是cp936的哦
Reply
fuadam on #
这个字体实在太爽了
Reply
Dante on #
哈哈,雅黑看中文确实要舒服很多~~
Reply
rods on #
用不了雅黑,配置如下:
set fileencodings=ucs-bom,utf-8,cp936,big5,latin1
set ambiwidth=double
let $LANG='en'
set number
set go= "不要工具条
set nobackup "不备份
set nowritebackup "不备份
"set guifont=Bitstream_Vera_Sans_Mono:h11:cANSI
"set guifont=YaHeiConsolas:h12:cANSI
"set fenc=gbk 3:w
set guifont=Bitstream_Vera_Sans_Mono:h11:b:cANSI
set gfw=Yahei_Mono:h11:cGB2312
Reply
fuadam1982 on #
你的_vimrc的fileencodings必须是cp936,你可以:set fileencodings 看一下,如果不是强制赋值为cp936然后:w
Reply
Dante on #
多谢fuadam的帮忙,我稍微纠正一下哦,应该是set fileencoding,不要加s~~~
fileencoding是指当前文件编码。
fileencodings是指vim在检测文件编码的时候的检查顺序。
Reply
Limux on #
我的_vimrc的set fileencoding?显示空,设置cp936后保存,重新打开还是空,没有效果,why?
Reply
Dante on #
呃,你是用的win版的gvim?还是linux下的?有把多语言支持编译进去吗?
Reply
saner69 on #
能在百忙中抽空写一篇字体修改的教程吗?如你的微软雅黑+Bitstream vera sans mono 是如何制作的。
Reply
Dante on #
呵呵,其实我也只是略懂皮毛啦,我用的那个字体软件是Font creator,可以试一下,应该还是比较简单的。
Reply
可可火山 on #
果然是你自己做的字体那。
造福了,thx
Reply
ySJ on #
谢了,正要用呢。
Reply
lili on #
求教我的gvim中文设置没用,跟没设一样。
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
filetype plugin on
":set fenc=gbk
set backspace=indent,eol,start
"set backup
set nobackup
set nowritebackup
set guifont=Bitstream_Vera_Sans_Mono:h14:cANSI
set gfw=Yahei_Mono:h10.5:cGB2312
set helplang=Ch
set history=50
set hlsearch
set incsearch
set keymodel=startsel,stopsel
set ruler
set selection=exclusive
set selectmode=mouse,key
set whichwrap=b,s,,[,]
set window=17
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\ ' . arg3 . eq
endfunction
Reply
风吹雨飞 on #
知道为什么按照设置没有生效吗
字体名称是Yahei Mono两个单词中间有个空格
文中是让大家这样设置的
set gfw=Yahei_Mono:h10:cGB2312
空格变成了下划线
应该写成这样
set gfw=Yahei\ Mono:h10:cGB2312
空格前加个\
Reply
w on #
vimrc是cp936,空格前加个\ 都没用,gfw无效
Reply
Dante on #
我在windows下用下划线代替空格是可以的,linux由于我只能上终端,所以没法测试linux gvim的效果……
Reply
渡水的疯子 on #
我win7下的vim73
set:gfw=Yahei_Mono:h10.5:cGB2312,中文还是vim默认的...encoding等设置都对的。只能设置guifont为yahei_mono时才会有效。
Reply
Dante on #
应该不会吧,我这里都没问题呀,不过我是XP,能把怎么配置的贴出来一下?
Reply
渡水的疯子 on #
以前xp下能够显示雅黑中文,字体配置就是按照那篇编程字体推荐来设的。
Reply
Dante on #
额,那就真不知道了,还没机会换win7。。。
Reply
geekey on #
先感谢Vimer介绍这么好的字体,呵呵,我是14''的
用的是17"的配置代码,稍等做了一下改动,和17“的显示基本一样,好养眼,呵,如下(写入_vimrc):
set guifont=Bitstream_Vera_Sans_Mono:h10:cANSI
set guifont=Yahei_Mono:h10.5:cGB2312
Reply
Dante on #
哈,enjoy!
Reply
chuan on #
唔...无意间翻到博主的博客
关于win下gfw的设置,
1)只要vimrc中没有中文出现,并不需要是cp936
2)guifontwide需要在encoding=utf8的情况下才生效,无效的同学可以去看看自己的enc设置。
Reply
Dante on #
正解~
补充一下,无论对与cp936还是utf8或是其他多字节编码,对于英文字母的ascii码都是不变的,所以如果只有英文的话,也就不存在编码的问题了~
Reply
rst on #
set encoding=utf-8
set guifont=consolas:h10:cANSI
set guifontwide=mingliu:h10:cGB2312
呀哈,第一行語句就可以正常顯示中文字體了!
原來是編碼問題!
Reply
poly on #
奇怪了,以前我在win7下配置的幼圆字体,
现在到xp下报"无效的guifontwide"
换成雅黑也不行。
set encoding=utf-8
set fenc=utf-8
set fileencodings=ucs-bom,utf-8,cp936
if has("win32")
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
endif
if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
set ambiwidth=double
endif
set guifont=Bitstream_Vera_Sans_Mono:h10:cANSI
set gfw=Yahei_Mono:h10.5:cGB2312
_vimrc保存成cp936和utf8都不行。
Reply
Dante on #
呃。。没有用win7。。。不过我在公司的机器上设置过字体,是没问题呀
Reply
poly on #
现在我把“set gfw=Yahei_Mono:h10.5:cGB2312”给注释了用。
然后打开项目的时候,会报个“无效的字体:guifont=Bitstream_Vera_Sans_Mono:h10:cANSI”错误。
Reply
Dante on #
这个字体有安装吗?
你的意思是在xp下一切正常,到了win7就不行?
Reply
poly on #
特地在您这里下来装了的。
之前我用的是win7,用的幼圆~一直没问题。
最近公司给配了台新电脑,懒得升级到win7了,将就用着xp,结果就杯具了。各种尝试都不成。
Reply
Dante on #
奇怪了,看你的配置应该是没问题的,实在是不知道怎么回事了,设置成别的字体OK吗?
Reply
poly on #
貌似找到原因了。
尝试直接在命令行设置时报“无效的字体”。
连arial都不行。
于是试着:set gfn=* 给出字体请求对话框~
然后发现可选的字体少得可怜~
当然arial、Bitstream_Vera_Sans_Mono、yahei都不在里面。
于是仍然在寻求解决办法ing。
Reply
默默的伴随 on #
这个只要用记事本把_vimrc编码换成ANSI的就好了
Reply
zealkane on #
请教一下,在Windows下按上面的设置,中文是可以正确显示了,但为什么运行命令后,提示消息都是乱码,在打开中文的文档后,程序底部的中文提示信息全都变成乱码了
Reply
Dante on #
额,你是windows下的命令行吗?
Reply
小井 on #
win7下
set gfw=Yahei_Mono:h10.5:cGB2312
表示毫无效果,博主救命~~~
还有,为啥我的评论‘fail’了?
Reply
Dante on #
呃,应该不会呀?你有安装yahei_mono吗?默认的微软雅黑是不行的。
还有你的win7中文版是gb2312的编码吧?
Reply
sheperdwind on #
悲剧,字体下载还要解压密码。实在烦人,中国做vim的都这么小气。
Reply
jungle on #
试了下 win7这招不好使。。。悲剧呀
Reply
GOVO on #
楼上的招数都用过了,下划线改为\也用了,都没用,一起说无效的guifontwide
Reply
阿讷 on #
'guifontwide' 'gfw' 字符串 (缺省为 "")
全局
{Vi 无此功能}
{only 仅当编译时加入 GUI 的支持才有效}
如果非空,指定用于双宽字符的逗号分隔的字体列表。第一个能载入的字体被使
用。
注意: 这些字体必须使用 'guifont' 指定的两倍宽度和相同的高度。
除了 GTK+ 2 之外的所有 GUI 版本:
'guifontwide' 只有在 'encoding' 设为 "utf-8" 并且 'guifontset' 为空或
非法的时候才使用。
如果设置 'guifont' 并且从中找到合法的字体,但 'guifontwide' 为空的时
候,Vim 会试图找到匹配的双宽的字体并设置 'guifontwide' 为此值。
我的也设置不了 不知道这里有没有原因
Reply
x-snail on #
博主你好,我是一个新手,遇到一些问题百度不到,就是关于设置字体后,保存了没有反映,我不知道怎么解决 请博主有时间答复我一下?
Reply
Dante on #
能贴一下你的设置?
Reply
Ni许嵩 on #
想问一下大师,如果我想设置加粗该怎么设置?
Reply
Dante on #
呃,因为微软雅黑为了粗体的美观,让它的普通字体和加粗是两套字体,而文中只是普通字体那一套,所以设置不了。。。
Reply
Ni许嵩 on #
哦,原来是这样啊!谢谢您!
Reply
Ni许嵩 on #
还有一个问题,处理 H:\Vim\_vimrc 时发生错误:
第 224 行:
E484: 无法打开文件 C:\Program Files\Vim\vim72/delmenu.vim
第 425 行:
E484: 无法打开文件 C:\Program Files\Vim\vim72\syntax\syntax.
vim
这个路径的问题该如何解决呢?之前的vim我装的C盘,后来卸掉了C盘的,装在了D:盘,就出现这样的问题了!求大师给解决一下!谢谢啦!呵呵
Reply
Ni许嵩 on #
问题已解决!不过依然要谢谢您!另外,有点建议!您能否搞一个会员留言这样的,就像百度贴吧,当然比那个更简单一些最好!这样,我们这些您的fans再来看您的回复的时候,就可以更方便了!不用再搜索某篇文章了!只是个人建议!有些自私了!望谅解!
Reply
nbsp on #
太费眼了,有点模糊
Reply
piero on #
楼主,这个雅黑字体的链接是不是失效了啊,能再给个新的下载地址吗,谢啦~
Reply
Fred Xiao on #
求这个字体啊.找了很久才发现vimer就有,但是貌似链接下载不了.博主能发个到邮箱吗?谢谢了.fred.l.xiao@gmail.com
Reply
Dante on #
搜一下 yahei_mono ? 下载文件丢了。。
Reply
Eric on #
呵呵,感觉最好看的字体还是Consolas,虽然显示中文不怎么好,不过代码什么的很漂亮!
set guifont=Consolas:h9:cANSI
Reply
skeu on #
博主 你好:
在win7下 guifontwide必须在encoding为utf8才能设置生效 但是设置utf8之后 整个界面就悲剧了 菜单和命令提示全是乱码 有什么好的解决方法么?
Reply
Dante on #
呃,我都是不用界面的。。
set go=
Reply
sky on #
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
Reply
zloren on #
我是把sky的贴出来的东东复制到vimrc文件中,gfw才生效的。
谢谢博主和sky。
Reply
Geek on #
现在的附件已经不能下载了,能再上传一次吗?谢谢...
Reply
Dante on #
在这个页面来下载哈:
http://behindchoice.blogbus.com/logs/34753324.html
Reply
zl1st on #
设置了fileencoding=cp936
可是还是提示了无效guidfont
Reply
zl1st on #
设置了fileencoding=cp936
可是还是提示了无效guifontwide
Reply
Jason on #
你好,字体下载的链接失效了。给否重传一份呢?
Reply
sky on #
如果还有人没有配置成功,不妨这样一试,直接贴在配置文件里面即可
set guifont=Bitstream_Vera_Sans_Mono:h10:cANSI
set guifontwide=mingliu:h10:cGB2312
Reply
小行 on #
字体下载链接失效了。
Reply
Dante on #
字体确实找不到了。。因为两年前就开始在mac下工作了。。
Reply
caimaoy on #
对当时这就是这样的!!!if has("multi_byte") set encoding=utf-8endif
Reply
caimaoy on #
我有个问题:这两个字体放在一起不是会出现不对齐(字母和中文高度不一)的情况吗?
Reply
Dante on #
会的。。后来还到mac下就不需要再纠结这个问题了
Reply
yanwushu on #
资源已经失效
Reply