2012-10-26 103 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

相關問題