2012-10-26 6 views
7

GNU/LinuxマシンでgVim 7.3を実行しています。私は、ウィンドウのサイズに基づいて自動的にフォントを変更する方法があるのだろうかと思っています。私はVimには比較的新しいので、私はそれをよく知っているわけではありません。gVimウィンドウサイズに基づいてフォントを動的に変更

私のデフォルトのフォントにDejaVu Sans Mono 12を使用していますが、Vimウィンドウを縮小して画面上に何かを見たいときにTerminus 9に切り替えるのが好きですタイプ。 (ご存じのように、小さなノートパソコンの画面では、ワークスペースの切り替えをしたくない...)

私はこの動作が.vimrcファイルのコマンドで自動的に発生するかどうか疑問に思っていますVimが自動的にフォントを調整するように、デフォルトのウィンドウサイズを小さく小さくすればよいでしょう。

アイデア?

答えて

6

ウィンドウサイズが変更されたときに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() 
+0

パーフェクト:ここだけ'columns'(ない "lines')を考慮し、ハードコーディングされたフォント名を持っていることを例です。それはまさに私が探していたものです!ありがとう! – qmoog

関連する問題