【问题标题】:Set MacVim default font设置 MacVim 默认字体
【发布时间】:2012-01-18 23:33:20
【问题描述】:

如何设置 MacVim 的默认字体?

我已尝试添加以下行

set guifont = Monaco:h12

到以下任一文件:

~/.vimrc
~/.gvimrc
~/Applications/MacVim/MacVim.app/Contents/Resources/vim/vimrc
~/Applications/MacVim/MacVim.app/Contents/Resources/vim/gvimrc
~/Applications/MacVim/MacVim.app/Contents/Resources/vim/.vimrc
~/Applications/MacVim/MacVim.app/Contents/Resources/vim/.gvimrc

我重新启动了 MacVim,但它仍然不会设置默认字体。我错过了什么?

更新:我可以在运行时发出set guifont 命令,它工作正常。它似乎没有从我的启动文件中读取它。

【问题讨论】:

  • 我在~/.vimrc 的上述命令中使用了与默认字体不同的字体,它工作得非常好。也许您可能想检查特定字体是否存在...
  • @yoda 我实际上尝试在运行时执行set guifont=Monaco:h12 并且效果很好。我不确定为什么它没有从我提到的启动文件中读取它。
  • 你可以使用vim -D通过vim启动脚本进入debug mode然后step看看是怎么回事。
  • @kit:您帖子中的代码在您的set guifont 语句中的等号前后都有空格。如果在你的 vimrc 中真的是这样,那么把空格去掉,它们在 set 语句中的等号周围是无效的(实际上我认为等号之前的空格是可以的,但之后不行)。

标签: vim fonts default


【解决方案1】:

把它放在.gvimrc:

set guifont=Monaco:h12

注意等号周围没有空格。

【讨论】:

  • 你也可以把它放在你的.vimrc文件中。
  • 我改用 Monaco:h12 和 torte 配色方案,效果很好。
  • 已经添加到~/.vimrcmacvim 中实际使用的字体没有影响
【解决方案2】:

如果您需要在名称中设置带有空格的字体,请在您的.gvimrc 中设置use backslashes

set guifont=Fira\ Code:h12

【讨论】:

  • 你在编程时一般使用这种字体吗?
  • 我发誓,是的。除了“视网膜显示屏”,我的眼睛疲劳几乎为零
  • 你的意思是“反斜杠”?
  • Source Code Pro 太棒了!不过,推荐Source Code Pro Light 而非普通版本。
  • 真的很有帮助,尤其是当您需要设置电力线字体时。
【解决方案3】:

最完整的答案应该是这样的:

set guifont=Source\ Code\ Pro\ ExtraLight:h18

我环顾四周,发现的每个答案和教程都没有指定如何设置字体。

在使用字体窗口手动设置字体后,如果您不确定要输入什么类型:

:set guifont

这将显示您需要放入 .vimrc 文件中的确切字符串值,包括字体。

【讨论】:

    【解决方案4】:

    附加我的字体设置。

    " - font type and size setting.
    if has('win32')
        set guifont=Consolas:h12   " Win32.
    elseif has('gui_macvim')
        set guifont=Monaco:h14     " OSX.
    else
        set guifont=Monospace\ 12  " Linux.
    endif
    

    【讨论】:

      【解决方案5】:

      如果您使用的是 Mac,请将这些行添加到您的 ~/.vimrc

      set gfn=Monaco:h13
      set linespace=2
      

      【讨论】:

        【解决方案6】:

        要处理的不仅仅是英文字符,你可以把它放在你的.vimrc文件中(guifontwide处理中文字符):

        if has("gui_running")
            set guifont=Consolas:h14
            set guifontwide=Hiragino\ Sans\ GB
            set linespace=2
        endif
        

        【讨论】:

        • 我猜wide 表示每个字符都由超过 8 位编码,因此它很宽?还是它实际上看起来很宽?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-09
        • 2017-12-10
        • 2011-10-12
        • 2012-09-14
        • 2016-05-23
        • 1970-01-01
        相关资源
        最近更新 更多