如何在Windows系统的gVim中添加字体

22
我想在Gvim中添加一个UTF-8字体,但我不知道如何操作。 我尝试按照这个说明书的步骤进行,但还是没有成功。 http://www.inter-locale.com/whitepaper/learn/learn_to_type.html(页面中间的vim部分)。
请问有谁可以告诉我如何在Vim中添加字体以显示日文字?

你没有说明你在使用什么操作系统来运行gvim,所以你是指将字体添加到你的操作系统中,以便它可以在gvim中使用,还是指使用已经正确安装的字体? - m0j0
5个回答

21

正如其他人所指出的,您必须使用等宽字体。 Vim是一个文本编辑器,而不是所见即所得编辑器。

如果您有所需字符的等宽字体,则可以:

:set guifont=*

选择您想要使用的字体、大小等。一旦您满意,执行:

:set guifont?

它将输出当前值的设置。将 set guifont=foo 放入您的 .gvimrc(或在 .vimrc 中使用 if has("gui_running") 块)。

set guifont=<C-R>=&guifont<CR>

这将把当前值放入文件中。


花了我一些时间才弄明白这个。 set guifont=Consolas:h14:cANSI - gcb
3
Vim是一个文本编辑器,而不是所见即所得编辑器。请问可变宽度字体比固定宽度字体更“所见即所得”吗? - Sundar R

20

对于Windows,我发现使用guifontwide设置可以提供预期的功能(即在同一文件中混合显示日语、中文和英文等字符)。这并不直观或明显(至少对我来说不是!)从Vim帮助文件中,但像这样在你的启动设置中有类似的内容将会起作用:

set guifont=Consolas:h10 
set guifontwide=MingLiU:h10 "For windows to display mixed character sets
set encoding=utf-8 

1
这正是正确的答案。我查看了文档,即使事后仍然很模糊。当我将其设置为“nothing”时,字符只显示为空格,甚至没有矩形。 - djs
这使我的中文字符显示出来了...但无法显示我的希伯来字符。@ThomasJ的答案(仅设置guifont=MingLiU:h10)似乎有效。 - xverges

5

引自vim文档

对于MS-Windows平台,有些字体的Unicode字符数量是受限制的。尝试使用“Courier New”字体。可以通过“编辑/选择字体…”菜单来选择并尝试可用的字体。只能使用等宽字体。例如:
        :set guifont=courier_new:h12

所以,我猜想,除非你找到一个包含你想要显示字符的固定宽度字体,否则你就没办法了。


3

这是我使用的...

set gfn=MingLiU:h16:cDEFAULT
set fenc=utf-8
set encoding=utf-8

把这段代码加入到你的 _vimrc 文件中,然后退出并重新打开。对我来说非常好用。 +T

对于日语,大约一半的字符显示为带有问号的小方框。 - zumalifeguard

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接