Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Vim中设置默认字体大小?_Vim_Fonts - Fatal编程技术网

如何在Vim中设置默认字体大小?

如何在Vim中设置默认字体大小?,vim,fonts,Vim,Fonts,我正在尝试使用Vim配置GUI的默认设置。我已经在网络上做了研究,但我找到并尝试过的所有解决方案都不起作用 以下是我尝试过的一些东西(在.vimrc文件中): 实际上,我不在乎摩纳哥字体。对于第一种字体,请删除空格。空白对于set命令很重要 set guifont=Monaco:h20 对于第二个,它应该是(h指定高度) 我的建议是设置字体(如果您的版本支持) 这将弹出一个菜单,允许您选择字体。选择字体后,键入 set guifont? 显示当前GUI字体的设置。之后,将该行复制到vimrc

我正在尝试使用Vim配置GUI的默认设置。我已经在网络上做了研究,但我找到并尝试过的所有解决方案都不起作用

以下是我尝试过的一些东西(在.vimrc文件中):


实际上,我不在乎摩纳哥字体。

对于第一种字体,请删除空格。空白对于set命令很重要

set guifont=Monaco:h20
对于第二个,它应该是(h指定高度)

我的建议是设置字体(如果您的版本支持)

这将弹出一个菜单,允许您选择字体。选择字体后,键入

set guifont?
显示当前GUI字体的设置。之后,将该行复制到vimrc或gvimrc中。如果字体中有空格,请添加一个
\
以转义空格

set guifont=Monospace\ 20
12
之前尝试
\
,如下所示:

:set guifont=Monospace\ 12

在语法中添加规则并使用
gfn

设置gfn=Monospace\Regular:h13


其他答案是您询问的,但如果对其他人有用,下面介绍如何从屏幕DPI(仅限Windows)有条件地设置字体:


我遇到了同样的问题 我把下面的代码放在文件夹
~/.gvimrc
中,它就工作了

set guifont=Monaco:h20

第一个看起来是正确的。你重启vim了吗?此外,您的机器上是否存在该字体?Vim附带了非常广泛的文档。不要搜索网页:改用
:help
;它更快更权威。在您的情况下,一个简单的
:help font
就足以让您找到
:help guifont
,并学习如何为您的系统正确设置guifont。我在my.vimrc中尝试了以下命令:set guifont=h18 | | set guifont=Monospace:h18 | | set guifont=18,如果其中一些命令使警察更强大,有一个问题:每个字符之间的间隔很宽。为什么?我只是知道字符之间的空格很大是因为字体不是单声道的。只显示名称中带有mono的字体,不会显示太大的空间。在哪里可以找到vimrc?在win8上安装vim后,我没有在开始菜单中找到它。1@LeiYang如果在vim中键入
:version
,它应该列出vim查找文件的位置。它应该是像
~/.vimrc
~/.vim/vimrc
$HOME/\u vimrc
这样的东西。问这个问题我觉得很傻,但这对终端上的vim(即不是gvim)有效吗?@576i在
cmd.exe
中运行
wmic desktopmonitor get pixelsperxlogical inch/value
时会发生什么?
set guifont=Monospace\ 20
:set guifont=Monospace\ 12
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
set guifont=Monaco:h20