我在GNU /
Linux机器上运行gVim 7.3.我想知道是否有办法根据窗口的大小自动更改字体.我对Vim比较陌生,所以我对它并不熟悉.
我的情况是这样的:我使用DejaVu Sans Mono 12作为我的默认字体,但有时我想切换到Terminus 9,当我想缩小Vim窗口以查看屏幕上的内容时我输入. (你知道,对于我们这些有小笔记本电脑屏幕而不想在工作空间之间切换的人……!)
所以我想知道如果我将.vimrc文件中的命令缩小,如果我将默认窗口大小缩小到足够小以便Vim会自动调整字体,这种行为是否会自动发生.
有任何想法吗?
当Vim的窗口大小发生变化时,Vim会触发VimResized事件.您可以编写一个适应字体(‘guifont’)的autocmd.这是一个仅考虑“列”(不是“行”)并且具有硬编码字体名称的示例:
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()