2012-10-26 74 views
7

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

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

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

任何想法?

回答

6

当窗口大小改变时,Vim触发VimResized事件。你可以编写一个autocmd,然后调整字体('guifont')。下面是只考虑'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() 
+0

完美。这正是我所期待的!谢谢! – qmoog

相关问题