7

我在 GNU/Linux 机器上运行 gVim 7.3。我想知道是否有办法根据窗口大小自动更改字体。我对 Vim 比较陌生,所以我对它并不熟悉。

我的情况是这样的:我使用 DejaVu Sans Mono 12 作为我的默认字体,但有时我想在我输入时缩小 Vim 窗口以查看屏幕上的某些内容时切换到 Terminus 9。(你知道,对于那些不想在工作区之间不断切换的笔记本电脑屏幕很小的人来说......!)

所以我想知道如果我将默认窗口大小缩小到足够小,以便 Vim 自动调整字体,这种行为是否可以通过 .vimrc 文件中的命令自动发生。

有任何想法吗?

4

1 回答 1

6

VimVimResized在其窗口大小改变时触发该事件。然后,您可以编写一个适应字体 ( 'guifont') 的 autocmd。这是一个仅考虑'columns'(不是 ' lines')的示例,并且具有硬编码的字体名称:

function! FontChangeOnResize()
    if &columns > 80
        set guifont=Lucida_Console:h14
    elseif &columns > 60
        set guifont=Lucida_Console:h12
    elseif &columns > 40
        set guifont=Lucida_Console:h10
    elseif &columns > 20
        set guifont=Lucida_Console:h8
    else
        set guifont=Lucida_Console:h6
    endif
endfunction
autocmd VimResized * call FontChangeOnResize()
于 2012-10-26T19:59:25.853 回答