7

GNU/Linux マシンで gVim 7.3 を実行しています。ウィンドウのサイズに基づいてフォントを自動的に変更する方法があるかどうか疑問に思っています。私は Vim に比較的慣れていないので、あまり詳しくありません。

私の状況は次のとおりです。デフォルトのフォントに DejaVu Sans Mono 12 を使用していますが、入力中に画面上の何かを見るために Vim ウィンドウを縮小したい場合は、Terminus 9 に切り替えることもあります。(ご存知のように、ワークスペースを何度も切り替えたくない小さなラップトップ画面を使用している私たちにとっては...!)

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

何か案は?

4

1 に答える 1

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()
于 2012-10-26T19:59:25.853 に答える