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

qmo*_*oog 7 vim

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

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

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

有任何想法吗?

Ing*_*kat 6

VimResized当窗口大小改变时,Vim会触发事件.您可以编写一个适应font('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()
Run Code Online (Sandbox Code Playgroud)