gVim根据窗口大小动态更改字体

时间:2012-10-26 19:35:13

标签: vim

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

当窗口大小发生变化时,Vim会触发VimResized事件。您可以编写一个适应字体('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()