我正在尝试使用 Vim 为我的 GUI 配置默认设置。我已经在网上进行了研究,但是我找到并尝试过的所有解决方案都不起作用。
以下是我尝试过的一些事情(在 .vimrc 文件中):
set guifont = Monaco:h20
set guifont=Monospace 20
其实我不在乎摩纳哥字体。
对于第一个删除空格。空格对于 set 命令很重要。
set guifont=Monaco:h20
对于第二个应该是(h 指定高度)
set guifont=Monospace:h20
我对设置字体的建议是这样做(如果您的版本支持)
set guifont=*
这将弹出一个菜单,允许您选择字体。选择字体后,输入
set guifont?
显示当前 guifont 的设置。之后将该行复制到您的 vimrc 或 gvimrc 中。如果字体中有空格,请添加一个\
以转义空格。
set guifont=Monospace\ 20
尝试\<Space>
before 12
,如下所示:
:set guifont=Monospace\ 12
我遇到了同样的问题,我将以下代码放在文件夹中~/.gvimrc
,它可以工作。
set guifont=Monaco:h20
将正则添加到语法并使用gfn
:
设置 gfn=等宽\常规:h13
其他答案是您所问的,但如果它对其他人有用,以下是如何从屏幕 DPI 有条件地设置字体(仅限 Windows):
set guifont=default
if has('windows')
"get dpi, strip out utf-16 garbage and new lines
"system() converts 0x00 to 0x01 for 'platform independence'
"should return something like 'PixelsPerXLogicalInch=192'
"get the part from the = to the end of the line (eg '=192') and strip
"the first character
"and convert to a number
let dpi = str2nr(strpart(matchstr(substitute(
\system('wmic desktopmonitor get PixelsPerXLogicalInch /value'),
\'\%x01\|\%x0a\|\%x0a\|\%xff\|\%xfe', '', 'g'),
\'=.*$'), 1))
if dpi > 100
set guifont=high_dpi_font
endif
endif
guifont
您可能会发现我制作的这个插件很有用,可以以一种可移植的方式简化设置: https ://github.com/awvalenti/vim-simple-guifont 。你vimrc
是这样的,它处理所有操作系统特定的东西:
silent! call simple_guifont#Set(
['Cascadia Code PL', 'JetBrains Mono', 'Hack'], 'Consolas', 14)