在.vimrc 文件中设置 gvim 字体

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

set guifont=Consolas\ 10

但是没用,有人知道怎么设置吗?

204034 次浏览

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

:set guifont?

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

我使用下面的尺寸(在 Windows 上使用 Consolas 11号,在 Mac OS x 上使用 Menlo 常规尺寸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

编辑: 当你在它,你可以看看编码恐怖的 程序字体博客文章

编辑2: 添加 MacVim。

我正试图在.vimrc 文件中设置它,如下所示

对于 GUI 特定的设置,使用 .gvimrc而不是 .vimrc,后者在 Windows 上是 $HOME\_gvimrc$VIM\_gvimrc

详情请参阅 :help .gvimrc。本质上,在启动 VIM 读取 .vimrc。之后,如果 GUI 被激活,它也会读取 .gvimrc。现在,所有的 VIM 通用设置应该保持在 .vimrc,所有的图形用户界面特定的事情在 .gvimrc。(但是如果您不使用控制台 VIM,那么您可以简单地忘记 .vimrc。)

集合 guifont = Consolas 10

语法错了。在 :set guifont=*之后,您总是可以使用 :set guifont?检查字体的正确语法。VIM Windows 语法是 :set guifont=Consolas:h10。我没有看到这方面的精确规格,虽然它是在 :help win32-faq中提到。

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

  1. 在“ gvim.exec”的“ Edit-Select Font...”菜单中记下字体名称和字体大小。
  2. 那就做 :e $MYGVIMRC
  3. 搜索“ guifont”字符串并将其更改为 set guifont=<font name as noted>:h<font size>
  4. 保存文件并退出。
  5. 下次执行 gvim.exec 时,您将看到效果。
  1. 开始一个图形化的 vim 会话。
  2. :e $MYGVIMRC 进来
  3. 使用图形字体选择对话框选择字体。
  4. 类型 :set guifont= 标签 进来
  5. 键入 G 以在文件末尾开始新行。
  6. 类型 Ctrl + R,其次是 :

步骤6中的命令将插入 :专用寄存器的内容 其中包含最后使用的 ex-mode 命令 从步骤4,其中有正确格式的字体名称感谢选项卡 使用 GUI 对话框完成以前设置的值。

虽然这是一个老主题,我想我会添加一个评论,因为我遇到了它,同时试图解决类似的问题,这可能会帮助任何其他人谁可能会发现自己在这里:

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

例如:

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

Set guifont = DejaVu Sans Mono for Powerline 11

当我需要将这一行添加到 gvimrc 文件以便读取时:

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

Ubuntu 14.04 LTS

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

如果,如果块之后,键入

set guifont=Neep\ 10

保存文件(: wq!).在这里“尼普”(你的选择)是字体样式和“10”是字体的尊重大小。然后再次构建字体缓存。

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

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

我不得不做的事情

:set guifont=Courier:h10:cANSI

当我尝试:

set guifont=Consolas:h16

我得到: Warning: Font "Consolas" reports bad fixed pitch metrics

下面是工作,不要显示警告。

autocmd vimenter * GuiFont! Consolas:h16

顺便说一下,如果你想使用鼠标滚轮来控制字体大小,那么你可以添加:

function! AdjustFontSize(amount)
let s:font_size = s:font_size + a:amount
:execute "GuiFont! Consolas:h" . s:font_size
endfunction


noremap <C-ScrollWheelUp> :call AdjustFontSize(1)<CR>
noremap <C-ScrollWheelDown> :call AdjustFontSize(-1)<CR>

如果你想选择字体,你可以设置

set guifont=*

将显示一个字体请求程序,您可以在其中选择所需的字体。

enter image description here