Ändern Sie die Schriftfarbe für Kommentare in vim


95

Ich möchte die Standardschriftfarbe für Kommentare, die dunkelblau ist, in leicht gelbe Farbe ändern. Auf dem schwarzen Hintergrund ist es schwer zu lesen. Können Sie mir raten, wie ich nur diese eine Farbe ändern kann? Ich bin mit den anderen Farben zufrieden.

Ich benutze xfce4-terminal (nicht gvim mit GUI).

Bisher habe ich die Einstellungen in der ~/.profileDatei gemäß diesem Link wie folgt vorgenommen

if [ -e /usr/share/terminfo/x/xterm-256color ]; then
        export TERM='xterm-256color'
else
        export TERM='xterm-color'
fi

und

set t_Co=256

im ~/.vimrc

Danke


7
Nur eine blöde Frage, haben Sie die verschiedenen eingebauten Farbschemata ausprobiert? Versuchen Sie es zum Beispiel :colorscheme desert. Die Tab-Vervollständigung sollte normalerweise funktionieren.
Benoit

Ich versuchte es. Aber ich möchte mehr Anpassung erreichen. Wenn niemand diese Antwort kennt, werde ich Ihre als die beste Lösung akzeptieren, weil Sie geantwortet haben, bevor ich meine Frage genauer formuliert habe, je nachdem, was ich erreichen wollte.
Xralf

Können Sie die Farbpalette des Terminals nicht neu zuweisen? Hat das Terminal keine Einstellungen?
Benoit

@ Benoit Siehe nächste Überarbeitung der Frage.
xralf

Antworten:


57
:hi Comment guifg=#ABCDEF

Wähle deine Farbe! Bei Verwendung eines Farbterminal Ersetzen guifg=#ABCDEFmit ctermfg=Nmit N eine Farbzahl zu sein.

Geben Sie auch ein, :help :hium weitere Informationen zu erhalten.


2
Danke dir. ctermfg arbeitet mit Farben wie Grün oder Gelb. Aber wenn ich es #ABCDEF oder ABCDEF geben werde, schreibt es Fehler E421: color name or number not recognized. Es erkennt keine Buchstaben im Hexadezimalcode, sondern nur Zahlen.
Xralf

Ja, der guifgParameter ist für die Verwendung von vim gui (gvim).
Benoit

1
Das heißt, ich bin auf nur 16 Farben beschränkt? Ich habe die Einstellung hinzugefügt, .vimrcaber das funktioniert nichtset highlight Comment ctermfg=yellow
xralf

1
Es gibt mehr als 16. Siehe hier . Ich möchte erreichen, dass meine Kommentare gelb, aber nur leicht gelb und für immer sind. Ist es möglich, dies einzustellen .vimrc?
Xralf

3
Dies ist zwei Jahre zu spät, aber für den Fall, dass jemand anderes die Lösung für das Problem von @Roboprog wünscht. Meins hat es ignoriert, als ich die Zeile hi comment ctermfg=<colour>in die .vimrcDatei syntax on
eingefügt habe

128

Die meisten gut benommenen Farbschemata respektieren die backgroundEinstellung:

set background=dark

würde die Farbe von Kommentaren von dunkelblau zu hellblau ändern, wenn das Standardfarbschema verwendet wird.


4
Dies ist eine großartige Lösung. Vielleicht nicht die beste Antwort auf die obige Frage, aber das "sehr schwer zu lesende" Problem auf perfekte Weise gelöst.
GabrieleV

5
Dies sollte die Standardeinstellung unter Ubuntu sein. Kommentare sind grundsätzlich nicht lesbar, wenn sie dunkelblau auf dem lila Hintergrund sind. Vielen Dank. Ich habe dies in meine ~/.vimrcDatei aufgenommen. Wenn jemand testen möchte, wie dies aussieht, ohne dies zu tun, geben Sie einfach den obigen Befehl in vim ein, nachdem Sie die :Taste gedrückt haben.
Drew Noakes

1
Das war das erste, was bei einer Google-Suche auftauchte. Ich mag jedoch die Standardfarben (außer Kommentare), die sowohl im dunklen Terminalfenster als auch beim Einfügen in eine E-Mail / ein Dokument mit weißem Hintergrund gut funktionieren. Ich mag ein dunkles Terminal, was kann ich sagen? (Nostalgie / Brauch)
Roboprog

2
Das Hinzufügen der Zeile 'set background = dark' zu ~ / .vimrc hat den Trick gemacht. Meine Augen haben sich so an das andere Farbschema gewöhnt, mein Gehirn findet das hässlich ... aber zumindest kann ich meine Kommentare jetzt sehen. Vielen Dank.
Sonjz

4
@ 3kstc: Sie können es zu Ihrem Ist-Zustand hinzufügen ~/.vimrc. Sie können auch eine Vorschau der Ereignisse in der aktuellen Sitzung anzeigen, indem Sie sie im Befehlsmodus eingeben. ( :
Geben Sie

53
hi Comment ctermfg=LightBlue

Fügen Sie dies Ihrer .vimrcDatei hinzu, die sich entweder in Ihrer ~oder in der befindet/etc/vim Verzeichnis befindet. Dies wird es dauerhaft machen. Ich habe das nicht mit gvim getestet.

Ich habe auch set background=lightvor dem Einstellen der Kommentarfarbe. Ich mag alle Farben, die es erstellt hat, mit Ausnahme der Kommentare.


1
Woher kommt LightBluedas?
nn0p

Dies funktionierte nur für mich, als ich es am Ende von .vimrc
user3342981

8

Wenn das Ziel darin besteht, die Lesbarkeit im Hintergrund der Textokonsole zu verbessern, hat sich der folgende Befehl als wunderbare Option und einfachere Erinnerung erwiesen:

:colorscheme evening

Beachten Sie jedoch, dass die Farben anderer Elemente geändert werden.


6

Nach einigem Suchen kann man unter http://vim.wikia.com/wiki/256_colors_in_vim einen anständigen Verweis auf vim finden, insbesondere in Bezug auf dieses Problem . Ein anständiger Ort, um loszulegen, ist via: be: verbose hi, wenn Sie sich tatsächlich in vim befinden, und das Bearbeiten einer Datei. Überprüfen Sie dann, wie allen Variablen Metadaten zugeordnet wurden. Von dort zurückgegebene Daten machen es wirklich einfach, die gewünschten Modifikatortypen in .vimrc hinzuzufügen. Dies sind beispielsweise Aktualisierungen, die ich kürzlich hinzugefügt habe, um Dunkelblau loszuwerden, und die nicht durch Hellblau gequält werden müssen.

    set number background=dark
    syntax on
    highlight Comment    ctermfg=119
    highlight Identifier ctermfg=99AA00


1

Es gibt verschiedene Farbschemata in vim. defaultDas Farbschema zeigt einen Kommentar in blauer Farbe an, der im schwarzen Terminalhintergrund schwer lesbar ist. Ich bevorzuge ein desertFarbschema, das in lesbaren Farben angezeigt wird.

Verwenden Sie den Befehl, um das desertFarbschema zu aktivieren . Wenn Sie zurückkehren möchten, um den Befehl zu verwenden .vim:color desertdefault:color default

Sie können sogar ~/.vimrcmit Ihrem bevorzugten Farbschema aktualisieren .

echo 'color desert' >> ~/.vimrc

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.