gVim根据窗口大小动态更改字体
我正在GNU/Linux机器上运行gVim 7.3。我想知道是否有一种方法可以根据窗口大小自动更改字体。我对Vim比较陌生,所以对它不太熟悉 我的情况是这样的:我使用DejaVu Sans Mono 12作为默认字体,但有时我喜欢切换到Terminus 9,当我想缩小Vim窗口,以便在键入时查看屏幕上的内容。(你知道,对于我们这些拥有微型笔记本电脑屏幕的人来说,不想在工作空间之间不断切换…!) 因此,我想知道,如果我将默认窗口大小缩小到足够小,以便Vim自动调整字体,那么通过.vimrc文件中的命令,这种行为是否会自动发生gVim根据窗口大小动态更改字体,vim,Vim,我正在GNU/Linux机器上运行gVim 7.3。我想知道是否有一种方法可以根据窗口大小自动更改字体。我对Vim比较陌生,所以对它不太熟悉 我的情况是这样的:我使用DejaVu Sans Mono 12作为默认字体,但有时我喜欢切换到Terminus 9,当我想缩小Vim窗口,以便在键入时查看屏幕上的内容。(你知道,对于我们这些拥有微型笔记本电脑屏幕的人来说,不想在工作空间之间不断切换…!) 因此,我想知道,如果我将默认窗口大小缩小到足够小,以便Vim自动调整字体,那么通过.vimrc文件中的
有什么想法吗?Vim在其窗口大小更改时触发
VimResized
事件。然后,您可以编写一个调整字体的autocmd('guifont'
)。以下示例仅考虑“列”
(而不是“行”
),并具有硬编码字体名称:
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()
完美的那正是我要找的!谢谢