在.vimrc文件中设置gvim字体


174

我在Windows 7上使用gVim 7.2。我可以从菜单中将gui字体设置为Consolas 10(字体大小)。我试图在.vimrc文件中设置如下所示:

set guifont=Consolas\ 10

但这是行不通的。有人知道如何设置吗?

Answers:


306

我使用以下命令(在Windows上使用Consolas大小11,在Mac OS X上使用Menlo Regular大小14,在其他任何地方都使用Inconsolata大小12):

if has("gui_running")
  if has("gui_gtk2")
    set guifont=Inconsolata\ 12
  elseif has("gui_macvim")
    set guifont=Menlo\ Regular:h14
  elseif has("gui_win32")
    set guifont=Consolas:h11:cANSI
  endif
endif

编辑:并且,当您查看它时,您可以看一下Coding Horror的Programming Fonts博客文章

编辑²:添加了MacVim。


12
因此,对于Windows而言,基本上您需要添加set guifont=Consolas:h11:cANSI~/.vimrc文件
Jasdeep Khalsa

9
最好从中执行此操作.gvimrc
阿列克谢·阿维琴科

1
这是更新的Codding Horror 编程字体博客文章
fratrik '16

1
对于使用GTK 3的Vim 8,还必须检查"gui_gtk3"
Ruud

2
您能否添加一个关于为什么cANSI使用以及是否需要使用的说明?
anishpatel'5

83

尝试从菜单中设置字体,然后输入

:set guifont?

这应该向您显示Vim将此选项设置为的字符串。您需要转义任何空格。


43

我正在尝试在.vimrc文件中进行设置,如下所示

对于GUI特定的设置,请使用.gvimrc代替.vimrc,在Windows上为$HOME\_gvimrc$VIM\_gvimrc

检查:help .gvimrc有关详细信息。本质上,在启动时,VIM读取.vimrc。此后,如果激活了GUI,它也会读取.gvimrc。IOW,所有VIM常规设置都应保留在中.vimrc,所有GUI特定内容应保留在中.gvimrc。(但是,如果您不使用控制台VIM,则可以简单地忽略.vimrc。)。

设置guifont = Consolas \ 10

语法错误。之后,:set guifont=*您始终可以使用来检查字体的正确语法:set guifont?。VIM Windows语法为:set guifont=Consolas:h10。尽管在中提到了确切的规范,但我没有看到确切的规范:help win32-faq


37
  1. 启动图形vim会话。
  2. :e $MYGVIMRC Enter
  3. 使用图形字体选择对话框选择字体。
  4. 输入:set guifont= Tab Enter
  5. 键入G o以在文件末尾开始新行。
  6. 输入Ctrl+,R然后输入:

步骤6中的命令将插入:特殊寄存器的内容,该寄存器包含最后使用的ex模式命令。这将是第4步中的命令,该命令具有正确格式的字体名称,这要归功于先前使用GUI对话框设置的值的制表符。


我猜这是因为使用图形字体选择对话框会导致运行命令,就像gvim中大多数(全部?)相似的GUI和菜单项一样。有时您可以看到他们的回声。
Evgeni Sergeev

1
我确定菜单确实可以运行命令,但这与此处无关。在此使用图形界面的唯一作用是它设置了guifont选项,而不是运行任何特定命令。
13年

我必须执行":p第6步才能获得最后一个ex-mode命令。看到这个答案
erik

@erik这是正常模式的命令,不应该在那儿工作,因为步骤5会将您置于插入模式。它还不能确保粘贴的命令位于单独的行上。
qqx

@qqx:好的,我的错。我以某种方式退出了插入模式。你是对的。优秀的解决方案!
erik 2015年

11

对于Windows,请执行以下操作:

  1. 从“ gvim.exec”的“编辑选择字体...”菜单中记下字体名称和字体大小。
  2. 然后做 :e $MYGVIMRC
  3. 搜索“ guifont”字符串并将其更改为 set guifont=<font name as noted>:h<font size>
  4. 保存文件并退出。
  5. 下次执行gvim.exec时,将看到效果。

6

尽管这是一个老话题,但我认为在尝试解决类似问题时会添加一条评论,以免引起麻烦。这可能会帮助在这里找到自己的其他人:

反斜杠字符用于忽略下一个字符;一旦添加到我的gvimrc中的字体名称,它就起作用了;我在不喜欢空格的GNU / Linux机器上。我怀疑最初的帖子是错误的,因为在Windows机器上使用了反斜杠。

例如:

:set guifont?  ## From gvim command, would give the following:

为Powerline 11设置guifont = DejaVu Sans Mono

在我需要将此行添加到gvimrc文件中的位置以进行读取:

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 11

0

Ubuntu 14.04 LTS

:/$ cd etc/vim/
:/etc/vim$ sudo gvim gvimrc

if-endif块之后,键入

set guifont=Neep\ 10

保存文件(:wq!)。这里“ Neep”(您的选择)是字体样式,“ 10”是字体的尺寸。然后构建字体-再次缓存。

:/etc/vim$ fc-cache -f -v

您所需的字体将设置为gvim。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.