Wie stelle ich die Standardschriftgröße in Vim ein?

94

Ich versuche, die Standardeinstellungen für meine GUI mit Vim zu konfigurieren. Ich habe bereits im Internet recherchiert, aber alle Lösungen, die ich gefunden und ausprobiert habe, haben nicht funktioniert.

Hier sind einige der Dinge, die ich versucht habe (in der .vimrc-Datei):

set guifont = Monaco:h20
set guifont=Monospace 20

Eigentlich interessiert mich die Schriftart Monaco nicht.

Möbius
quelle
Der erste sieht richtig aus. Hast du vim neu gestartet? Ist die Schriftart auch auf Ihrem Computer vorhanden?
Rob
4
Vim wird mit einer sehr umfangreichen Dokumentation geliefert . Suchen Sie nicht im Web: Verwenden Sie :helpstattdessen; es ist schneller und maßgeblicher. In Ihrem Fall hätte ein einfaches :help font<C-d>für Sie ausgereicht, um zu finden :help guifontund zu lernen, wie Sie set guifontIhr System richtig einstellen.
Romainl

Antworten:

201

Für den ersten entfernen Sie die Leerzeichen. Leerzeichen sind für den Befehl set wichtig.

set guifont=Monaco:h20

Für den zweiten sollte es sein (das h gibt die Höhe an)

set guifont=Monospace:h20

Meine Empfehlung zum Einstellen der Schriftart lautet: Wenn Ihre Version dies unterstützt)

set guifont=*

Daraufhin wird ein Menü geöffnet, in dem Sie die Schriftart auswählen können. Geben Sie nach Auswahl der Schriftart ein

set guifont?

Um zu zeigen, auf was der aktuelle Guifont eingestellt ist. Kopieren Sie danach diese Zeile in Ihr vimrc oder gvimrc. Wenn die Schriftart Leerzeichen enthält, fügen Sie ein hinzu \, um das Leerzeichen zu umgehen.

set guifont=Monospace\ 20
FDinoff
quelle
Ich habe den folgenden Befehl in meiner .vimrc ausprobiert: set guifont = h18 || setze guifont = Monospace: h18 || setze guifont = 18 und wenn einige von ihnen die Polizei größer machen, gibt es ein Prblem: Der Abstand zwischen den einzelnen Zeichen ist sehr groß. Warum ?
Möbius
Ich habe gerade verstanden, dass der große Abstand zwischen den Zeichen auf die Schrift zurückzuführen ist, die nicht mono ist. Nur Schriftarten mit dem Mono im Namen werden ohne großen Platz angezeigt.
Möbius
Wo finde ich vimrc? Ich habe es nicht im Startmenü gefunden, nachdem ich vim auf win8.1 installiert hatte
Lei Yang
1
@LeiYang Wenn Sie :versionvim eingeben , sollte es die Speicherorte auflisten, an denen vim nach der Datei sucht. Es sollte so etwas wie ~/.vimrc, ~/.vim/vimrc, $HOME/_vimrc.
FDinoff
Ich fühle mich albern, wenn ich das frage, aber funktioniert das auf vim am Terminal (dh nicht auf gvim)?
0xc0de
15

Versuchen Sie es \<Space>vorher 12wie folgt:

:set guifont=Monospace\ 12
Pascal
quelle
0

Fügen Sie der Syntax Regular hinzu und verwenden Sie gfn:

setze gfn = Monospace \ Regular: h13

Farsheed
quelle
0

Die anderen Antworten sind die, nach denen Sie gefragt haben. Falls dies jedoch für andere nützlich ist, können Sie die Schriftart über die Bildschirm-DPI (nur Windows) bedingt festlegen:

set guifont=default
if has('windows')
    "get dpi, strip out utf-16 garbage and new lines
    "system() converts 0x00 to 0x01 for 'platform independence'
    "should return something like 'PixelsPerXLogicalInch=192'
    "get the part from the = to the end of the line (eg '=192') and strip
    "the first character
    "and convert to a number
    let dpi = str2nr(strpart(matchstr(substitute(
        \system('wmic desktopmonitor get PixelsPerXLogicalInch /value'),
        \'\%x01\|\%x0a\|\%x0a\|\%xff\|\%xfe', '', 'g'),
        \'=.*$'), 1))
    if dpi > 100
        set guifont=high_dpi_font
    endif
endif
9999 Jahre
quelle
@ 576i Was passiert , wenn Sie laufen wmic desktopmonitor get PixelsPerXLogicalInch /valuein cmd.exe?
9999 Jahre
0

Ich überquere das gleiche Problem, ich habe den folgenden Code in den Ordner gelegt ~/.gvimrcund es funktioniert.

set guifont=Monaco:h20
Fan Bi
quelle