Bessere Farben, damit Kommentare in Vim nicht dunkelblau sind?

221

Meistens bearbeite ich Ruby-Dateien, obwohl es auch Kommentare zu Shell-Skriptdateien gibt #

Momentan werden meine Kommentare als dunkelblau auf schwarz angezeigt, was sehr schwer zu lesen ist.

Siehe Screenshot.

Wie kann ich ihre Farbe ändern?

Ich bin bereit, verschiedene Schemata für alle Farben zu betrachten, obwohl ich den schwarzen Hintergrund als Basis mag.

Ein Screenshot eines Terminalfensters, in dem Vim ausgeführt wird.  Die Kommentare sind dunkelblau auf schwarzem Hintergrund, sodass sie kaum sichtbar sind.

Michael Durrant
quelle
4
Ich mag einen kontrastierenden Hintergrund für Kommentare - er unterscheidet sie vom Code, z. hi Comment ctermbg=gray ctermfg=darkblue. Sie können Ihr Farbschema festlegen und es dann nach und nach ändern. lege die bits in eine separate datei und sourcees von deinem vimrc am ende.
Goldlöckchen
1
TL; DR Editiere einfach ~ / .vimrc und füge das Linienfarbschema desert
intotecho

Antworten:

229

Es gibt viele Farbschemata, die normalerweise zusammen mit vim vertrieben werden. Sie können sie mit dem :colorBefehl auswählen .

Sie können die verfügbaren Farbschemata im colorsOrdner von vim sehen , zum Beispiel in meinem Fall:

$ ls /usr/share/vim/vimNN/colors/ # where vimNN is vim version, e.g. vim74
blue.vim  darkblue.vim  default.vim  delek.vim  desert.vim  elflord.vim 
evening.vim  koehler.vim  morning.vim  murphy.vim  pablo.vim  peachpuff.vim
README.txt  ron.vim  shine.vim  slate.vim  torte.vim  zellner.vim

Ich benutze normalerweise desert. Also öffne ich vim, dann betrete :color desertund betrete. Wenn Sie das Farbschema bei jedem Öffnen standardmäßig verwenden möchten vim, fügen Sie es :color desertIhrem hinzu ~/.vimrc.

(Michael, OP) Das war gut. Das Terminal sieht so aus:

Beispiel für VIM in einer Ruby-Datei mit Syntaxhervorhebung in verschiedenen Farben

Wiederholung
quelle
25
Sie können auch mit TAB durch die verfügbaren Farben blättern, nachdem Sie sie eingegeben haben :color.
Daddy32
148

Da Sie in Ihrem Terminal einen dunklen Hintergrund verwenden, müssen Sie nur die Einstellungen vornehmen

:set background=dark

anstelle der Standardeinstellung

:set background=light

Die Farben werden dann automatisch richtig eingestellt.

Wenn Sie dies dauerhaft haben möchten, fügen Sie die Zeile hinzu

set background=dark

zu Ihrer $HOME/.vimrcDatei.

Jofel
quelle
12
Während die akzeptierte Antwort nützliche Informationen enthält, ist diese Antwort für Leute wie mich, die ein Terminalfenster mit dunklem Thema bevorzugen, weitaus prägnanter in Bezug auf die Grundursache des Problems.
Mark Edington
4
Leider nutzt dieser noch das stellenweise fast unlesbare Dunkelblau.
Rooby
2
@rooby Oft können Sie die Standardfarben in Ihrem Terminalemulator ändern, siehe auch die anderen Antworten.
Jofel
3
Es scheint ziemlich seltsam, dass debian (zumindest) einen dunklen Hintergrund für sein Terminalfenster verwendet, aber dass die gleiche Distribution vim eine helle Hintergrundannahme über das Terminal verwendet.
James Bowery
2
Ich denke, Sie können auch nur bganstelle vonbackground
abonet
26

Sie können es manuell mit diesem Befehl tun:

:hi Comment guifg=#ABCDEF

Wo ABCDEFist ein passender Farb-Hex-Code .

Um es dauerhaft zu machen, müssen Sie Ihrer ~/.vimrcDatei die folgenden Zeilen hinzufügen (am Beispiel von Grün):

syntax on
:highlight Comment ctermfg=green
terdon
quelle
5
Es ist auch möglich, Ihre aktuellen Hervorhebungseinstellungen mit :hioder :highlight(dh ohne andere Argumente) anzuzeigen.
Übelsuppe
1
Sie können auch andere Typen wie Strings ändern Dokumenttypen unterstützen, beispielsweise:highlight String ctermfg=green
aggregate1166877
14

Eine Option, die ich gefunden habe, war in den Terminaleinstellungen (oberes Menü, nicht das Fenster).

Dies hat Profileinstellungen und dann eine Farbregisterkarte, z

Bildbeschreibung hier eingeben

Das Ändern des Paletteneintrags 5 von Dunkelblau auf Helllila hat geholfen. Ich habe schließlich xterm als Farbschema gewählt und die Kommentarfarbe aufgehellt, zBildbeschreibung hier eingeben

Michael Durrant
quelle
2
Meine einzige Frage ist jetzt, ob ich diese Einstellungen jetzt in einer Datei speichern kann, damit sie für ein neues Maschinen-Setup zur Verfügung stehen.
Michael Durrant
2
Ich verwende xterm und stelle die blaue Farbe auf etwas ein, das für meine Augen in .Xresources schmackhaft ist: "XTerm * color4: light sky blue".
Holygeek
9

Ich hatte vor einiger Zeit genau dieses Problem. Die Lösung besteht darin, die folgende Zeile in Ihre vimrc-Datei einzufügen:

set t_Co=256

Und dann müssen Sie möglicherweise Folgendes an das Ende Ihres ~ / .profils setzen:

#set vim terminal to 256 colors.
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
    export TERM='xterm-256color'
else
    export TERM='xterm-color'
fi

und dann können Sie einstellen:

hi Comment      ctermfg=lightblue

in deiner vimrc datei und dann hast du hellblaue kommentare.
vimrc 256: http://vim.wikia.com/wiki/256_colors_in_vim

Ich bemerkte auch, dass der Bildschirm etwas hübscher wurde, indem er auf 256 eingestellt wurde.

Hermann Ingjaldsson
quelle
7

Wenn auf einem dunklen Hintergrund in Debian, dann uncommenting set background=darkin /etc/vim/vimrchilft auch.

Oder, wenn Sie nicht in die Konfigurationsdatei des Pakets eingreifen möchten, sondern in (einem neuen)
/etc/vim/vimrc.local

Jay
quelle
4

Hier ist ein schönes Git Repo mit über 700 Farbschemata für Vim

https://github.com/flazz/vim-colorschemes

klonen Sie es zu ~/.vim/

git clone https://github.com/flazz/vim-colorschemes ~/.vim/

Vorschau-Schemata in vim mit

:colorscheme mrkn256

(Ersetzen Sie mrkn256mit einem dieser Namen ls ~/.vim/colors(ohne die .vimErweiterung))

Zum dauerhaften Bearbeiten ~/.vimrchinzufügen / ändern

colorscheme mrkn256
Michael D.
quelle
3

Vielleicht zu weit vom Thema entfernt, aber hier geht

Für Windows 10 WSL (Windows-Subsystem für Linux)

das hat bei mir funktioniert (in .vimrc)

Syntax ein

Farbschema Wüste (oder was auch immer Farbschema)

W8WCA
quelle
-1
:colo desert

Ich benutze diesen Befehl, um zum Beispiel die Kommentare hervorzuheben;)

Bassist
quelle