【问题标题】:How do I set the default font size in Vim?如何在 Vim 中设置默认字体大小?
【发布时间】:2013-07-04 17:12:52
【问题描述】:

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

这是我尝试过的一些事情(在 .vimrc 文件中):

set guifont = Monaco:h20
set guifont=Monospace 20

其实我并不关心 Monaco 字体。

【问题讨论】:

  • 第一个看起来是正确的。你重启vim了吗?另外,您的机器上是否存在该字体?
  • Vim 带有一个非常 广泛的文档。不要搜索网络:改用:help;它更快,更权威。在您的情况下,一个简单的:help font<C-d> 就足以让您找到:help guifont 并了解如何为您的系统正确使用set guifont

标签: vim fonts


【解决方案1】:

对于第一个删除空格。空格对于 set 命令很重要。

set guifont=Monaco:h20

第二个应该是(h指定高度)

set guifont=Monospace:h20

我对设置字体的建议是这样做(如果你的版本支持的话)

set guifont=*

这将弹出一个菜单,让您选择字体。选择字体后,输入

set guifont?

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

set guifont=Monospace\ 20

【讨论】:

  • 我在 .vimrc 中尝试了以下命令:set guifont=h18 ||设置 guifont=等宽:h18 ||设置 guifont=18 如果其中一些使警察变大,则存在一个问题:每个字符之间的空间非常宽。为什么?
  • 我刚刚明白字符之间的宽间距是由于字体不是单色的。只有名称中带有单声道的字体才会显示,没有大空间。
  • 在哪里可以找到 vimrc?在win8.1上安装vim后在开始菜单中没有找到它
  • @LeiYang 如果你在 vim 中输入 :version 它应该列出 vim 查找文件的位置。它应该类似于~/.vimrc~/.vim/vimrc$HOME/_vimrc
  • 我觉得问这个很傻,但是这在终端上的 vim 上工作(即不是 gvim)吗?
【解决方案2】:

12 之前尝试\<Space>,如下所示:

:set guifont=Monospace\ 12

【讨论】:

    【解决方案3】:

    我遇到了同样的问题 我将以下代码放在文件夹~/.gvimrc 中,它可以工作。

    set guifont=Monaco:h20
    

    【讨论】:

      【解决方案4】:

      在语法中添加正则并使用gfn:

      设置 gfn= Monospace\ Regular:h13

      【讨论】:

        【解决方案5】:

        其他答案是你问的,但如果它对其他人有用,这里是如何从屏幕 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
        

        【讨论】:

        • @576i 在cmd.exe 中运行wmic desktopmonitor get PixelsPerXLogicalInch /value 会发生什么?
        【解决方案6】:

        您可能会发现我制作的这个插件很有用,它可以以一种可移植的方式简化设置guifonthttps://github.com/awvalenti/vim-simple-guifont。你的 vimrc 是这样的,它处理所有操作系统特定的东西:

        silent! call simple_guifont#Set(
          ['Cascadia Code PL', 'JetBrains Mono', 'Hack'], 'Consolas', 14)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-10
          • 2021-01-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-06
          相关资源
          最近更新 更多