2012-10-26 19 views
7

Używam gVim 7.3 na maszynie GNU/Linux. Zastanawiam się, czy istnieje sposób automatycznej zmiany czcionki w zależności od rozmiaru okna. Jestem względnie nowy w Vimie, więc nie jestem z nim dobrze zaznajomiony.gVim Dynamicznie Zmień czcionkę na podstawie rozmiaru okna

Moja sytuacja jest następująca: używam DejaVu Sans Mono 12 jako domyślnej czcionki, ale czasami lubię przestawiać się na Terminus 9, kiedy chcę zmniejszyć okno Vima, aby zobaczyć coś na moim ekranie, podczas gdy ja rodzaj. (Wiesz, dla tych z nas z małymi ekranami laptopów, które nie chcą przełączać między przestrzeniami roboczymi ...!)

Zastanawiam się, czy to zachowanie może się zdarzyć automatycznie za pomocą polecenia w pliku .vimrc jeśli zmniejszę domyślny rozmiar okna na tyle mały, aby Vim automatycznie dostosował czcionkę.

Wszelkie pomysły?

Odpowiedz

6

Vim uruchamia zdarzenie VimResized, gdy zmienia się jego rozmiar okna. Możesz napisać autocmd, który dostosuje czcionkę ('guifont'). Oto przykład, że tylko uważa 'columns' (nie 'lines') i ma zakodowane nazwę czcionki:

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

Perfect. Właśnie tego szukałem! Dzięki! – qmoog

Powiązane problemy