Wie kann ich die Schriftgröße in gVim ändern?

Antworten:

32

Stellen Sie die guifontOption in Ihrem ein .gvimrc. Siehe :help guifontund :help setting-guifont.

Im Einzelnen können Sie set guifont=Consolas:h11Folgendes tun: Verwenden von 11-Punkt-Consolas in gvim unter Windows. Es gibt einige andere Optionen, die Sie verwenden können (jeweils durch ein Sternchen getrennt :), z. B. :bfür Fettdruck. Einige davon sind jedoch nur auf bestimmten Plattformen verfügbar.

Die :hMöglichkeit , die Schriftgröße einzustellen , wie gezeigt , ist wahrscheinlich der nützlichste, und die eine speziell auf die Änderung der verwandten Größe der Schriftart, wie Sie verlangten.


quelle
6
Beachten Sie, dass die name:sizeSyntax nur unter Windows gVim funktioniert. Für gtk gVim müssen Sie name sizeein Leerzeichen zwischen dem Namen und der Größe der Schrift verwenden. Andere Plattformen haben möglicherweise andere Formate.
Martin Tournoij
:hXXfunktioniert auch auf dem Mac. Guter Punkt über GTK.
set guifont=? Nicht set gfn=?
Peter Mortensen
2
@PeterMortensen Beide arbeiten; Ich bevorzuge die längeren Formulare, weil ich sie besser lesbar finde, und benutze die längeren vor allem in Antworten.
Beachten Sie, dass der Dateiname in Windows (eine häufig verwendete Betriebssystemoption) tatsächlich lautet: für MS-DOS und Win32: $ VIM \ _gvimrc oder in meinem Fall war diese Datei nicht vorhanden, und ich musste sie auf diese Weise erstellen.
Wolfdawn
29

Wenn Sie die Schriftgröße in einer laufenden GVim-Instanz einfach ändern möchten, geben Sie Folgendes ein:

:set guifont=*

Es sollte sich ein Fenster öffnen, in dem Sie die Schriftgröße festlegen und gegebenenfalls eine neue Schriftart auswählen können. Anschließend können Sie Vim auffordern, die Zeile zu drucken, die Sie zu Ihrer hinzufügen müssten ~/.gvimrc, um die Änderung dauerhaft zu machen:

:set guifont?

Erzeugt in der Statuszeile etwa Folgendes:

guifont=Hasklig-Light:h16

Fügen Sie das mit dem Präfix setzu Ihrem hinzu, ~/.gvimrcum fortzufahren.

pkout
quelle
13

In meiner .vimrc-Datei ist Folgendes enthalten, um die Schriftgröße schnell zu ändern, ohne die Schriftart zu ändern. Funktioniert unter Windows und GTK. Ich habe keine anderen GUIs getestet. Ich bin mir sicher, dass ich es ursprünglich von jemand anderem kopiert habe, aber es ist schon so lange in meiner RC-Datei, dass ich mich nicht mehr erinnere, woher es kam.

if has("unix")
    function! FontSizePlus ()
      let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole + 1
      let l:new_font_size = ' '.l:gf_size_whole
      let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '')
    endfunction

    function! FontSizeMinus ()
      let l:gf_size_whole = matchstr(&guifont, '\( \)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole - 1
      let l:new_font_size = ' '.l:gf_size_whole
      let &guifont = substitute(&guifont, ' \d\+$', l:new_font_size, '')
    endfunction
else
    function! FontSizePlus ()
      let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole + 1
      let l:new_font_size = ':h'.l:gf_size_whole
      let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '')
    endfunction

    function! FontSizeMinus ()
      let l:gf_size_whole = matchstr(&guifont, '\(:h\)\@<=\d\+$')
      let l:gf_size_whole = l:gf_size_whole - 1
      let l:new_font_size = ':h'.l:gf_size_whole
      let &guifont = substitute(&guifont, ':h\d\+$', l:new_font_size, '')
    endfunction
endif


if has("gui_running")
    nmap <S-F12> :call FontSizeMinus()<CR>
    nmap <F12> :call FontSizePlus()<CR>
endif
Drew
quelle
4
Nach dieser Antwort , has('unix')ist auf OSX Systemen oft wahr, und nach John hier benötigt OSX das gleiche Format wie Windows - ... So verwenden has('gui_gtk2')ist wahrscheinlich besser als die Verwendung has('unix').
Martin Tournoij
Dies funktioniert auf Xubuntu (Xfce) wo: setze guifont? Gibt Text wie "Monospace Bold 11" ohne die Doppelpunkttrennzeichen und das Präfix "h" zurück, auf das sich die ausgewählte Antwort stützt.
NeilG
5

Anscheinend ist die Art und Weise, wie die Schriftarteinstellungen geschrieben werden, ziemlich plattformabhängig. Was bei mir funktioniert hat (gvim in MX Linux 17 (eine Debian-basierte Linux-Distribution mit einem XFCE-Desktop)):

  • Bestimmen Sie die aktuellen Schrifteinstellungen in einer geöffneten gvim-Instanz mit : set guifont?

Beispiel: guifont=DejaVu Sans Mono 12

  • Verwenden Sie diese Informationen, um die Einstellungen (Ändern der Größe nach Wunsch) in die ~/.gvimrcDatei zu schreiben , die Leerzeichen mit Backslashes zu maskieren und nicht :vor der Größe zu verwenden .

Beispiel: set guifont=DejaVu\ Sans\ Mono\ 18

  • Nach dem Speichern der ~/.gvimrcDatei sollten neue Instanzen von gvim die neue gewünschte Größe verwenden.

Diese zwei Antworten haben mir geholfen:

Sowie die Kommentare von diesem:

bli
quelle
4

Basierend auf Drews Antwort funktionierte dieses Setup für mich besser.

Es erhöht oder verringert Schriftgröße verwenden \+oder \-(vorausgesetzt , \Ihr Führer) und Zyklen durch die vordefinierte Schriftarten verwenden cot. Ich tausche oft zwischen diesen Schriftarten, je nachdem, ob ich mit Quellcode oder Text arbeite.

let g:fnt_types = ['SourceCode\ Pro', 'monofur' ]
let g:fnt_sizes = [ 10, 13 ]


let g:fnt_index = 0
let g:fnt_size  = g:fnt_sizes[g:fnt_index]

function! CycleFont()
  let g:fnt_index = (g:fnt_index + 1) % len(g:fnt_types)
  let g:fnt_size  = g:fnt_sizes[g:fnt_index]
  call ResetFont()
endfunction

function! ResetFont ()
  if has('gui_running')
    exe ':set guifont=' . g:fnt_types[g:fnt_index] . '\ ' . string(g:fnt_size)
  endif
endfunction

call ResetFont()

function! FontSizePlus ()
  let g:fnt_size = g:fnt_size + 0.5
  call ResetFont()
endfunction

function! FontSizeMinus ()
  let g:fnt_size = g:fnt_size - 0.5
  call ResetFont()
endfunction

nnoremap <leader>+ :call FontSizePlus()<cr>
nnoremap <leader>- :call FontSizeMinus()<cr>
nnoremap cot :call CycleFont()<cr>
gauteh
quelle
2

Sie können dieses Plugin ausprobieren: vim-fontzoom .

map <m-o> :Fontzoom!<cr>
map <m--> <Plug>(fontzoom-smaller)
map <m-=> <Plug>(fontzoom-larger)
tracyone
quelle