Dunkelblaue farbe in vim oder ls ausgabe in linux


58

Ich habe ein Problem mit der dunkelblauen Farbe in vimoder lsAusgabe. Da ich schwarze Hintergrundfarbe verwende, sind dunkelblaue Wörter fast unsichtbar. Wie kann ich dieses Problem beheben?



1
Das andere, was Sie tun können, ist die Farben selbst zu ändern. Keine der Farben (auch nicht die "dunklen") darf auf schwarzem Hintergrund nicht lesbar sein. Wenn Sie angeben könnten, welches Terminal Sie verwenden, könnten weitere Informationen bereitgestellt werden, wenn die verknüpfte Frage diesbezüglich noch keine Hilfe bietet.
Random832

Dies scheint ein Problem mit einigen Displays oder Grafikkartenausgängen zu sein. Dieses Standardblau (das in der Linux-Konsole und in einigen Terminal-Emulatoren mindestens ungefähr gleich zu sein scheint) ist auf einigen Bildschirmen lesbar und auf anderen nicht lesbar.
NJSG

Antworten:


55

Sie können das Farbschema von vim mit der backgroundOption ändern . Verwenden

set background=dark

in Ihrer aktuellen Sitzung oder dauerhaft in Ihrem vimrc.

Der Ausgang von lswird mit konfiguriert /etc/DIR_COLORS. Weitere Informationen finden Sie in der Manpage . Die Einstellungen können mit einer ~/.dir_colors(unter Ubuntu: ~/.dircolors- siehe Eintrag in ~/.bashrc) Datei in Ihrem Home-Verzeichnis überschrieben werden .

Ein Eintrag wie

 DIR 01;36 

erzeugt mit Cyan einen besser lesbaren Hintergrund.


Für Bash-Neulinge: Nachdem Sie Ihre Datei (z. B. ~/.dircolors) wie hier beschrieben erstellt haben, müssen Sie nur source ~/.bashrcsehen, dass sie funktioniert. Danke für diese Antwort!
Marcus

26

Anstatt Anwendungen so zu konfigurieren, dass Blau auf Schwarz vermieden wird, empfehle ich, Ihr Terminal so zu konfigurieren, dass das Blau besser sichtbar wird. Die meisten Terminalemulatoren haben eine Einstellung dafür. In xterm gibt es eine X-Ressource:

XTerm.VT100.color4: CornflowerBlue

Suchen Sie in anderen Terminalemulatoren in der Konfigurationsdatei oder im Dialogfeld nach Farbeinstellungen oder Designs.

Es gibt eine gemeinsame Kontrollsequenz den Farbton mit einer Farbnummer von der Anwendung zugeordnet einzustellen: OSC 4 ; c ; spec BELwobei OSCist ESC ], cdie Farbzahl ist , und specist eine Farb spec wie #RGB.

printf %b '\e]4;4;#6495ed\a'  # set the blue shade to CornflowerBlue

Eine Änderung durch die Anwendung ist nur bis zum nächsten Zurücksetzen des Terminals wirksam. Wenn Sie diese Methode verwenden (nur empfohlen, wenn auf Ihrem Terminal kein Konfigurationsmechanismus vorhanden ist), hängen Sie die Escape-Sequenz für die Farbkonfiguration an die Rücksetzzeichenfolge Ihres Terminals an (termcap: r1string; terminfo: rs1string) , um die Änderung effektiv fortzusetzen .

Siehe auch Überschreiben des angezeigten Farbtons . Kann ich die Terminalfarben meines lokalen Computers so einstellen, dass sie die Farben des Computers verwenden, auf dem ich ssh verwende? .


klang zunächst wie ein lahmer Vorschlag, aber wenn ich bedenke, dass ich nicht die Hälfte der dunklen Farben lesen kann und keines meiner Programme feste Hintergrundfarben verwendet, bei denen Dunkelheit vernünftig sein könnte, macht dies tatsächlich sehr viel Sinn!
M Conrad

Solarized ( ethanschoonover.com/solarized ) bietet schöne Farbschemata für verschiedene Terminalemulatoren und andere Programme.
David

10

Eine schnellere Methode zum Festlegen der lsVerzeichnisfarbe für Ihre Terminalsitzung:

1. Öffnen Sie Ihr Terminal und führen Sie den Befehl dircolors aus:

machines@box790 ~ $ dircolors
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
machines@box790 ~ $ 

Es gibt Ihnen den Befehl, die Farben für ls festzulegen. Das 'di' steht für Verzeichnis. 34 ist das schlechte dunkelblau. 36 ist cyan. Fügen Sie es also ein und ändern Sie es in das Terminal.

2. Kopieren Sie das Ganze in das Terminal und nehmen Sie eine einzelne Änderung vor

Sie ändern die, di=01;34um di=01;36dies zu mögen:

machines@box790 ~ $ LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

machines@box790 ~ $ export LS_COLORS

3. Dadurch werden die Verzeichnisfarben sofort auf Cyan gesetzt

do an 'ls' and see that directories are indeed cyan.

4. Machen Sie den obigen Schritt dauerhaft

Machen Sie es dauerhaft, indem Sie die obigen Befehle wie folgt am unteren Rand Ihres ~ / .bashrc platzieren:

LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

Wenn Sie dies in Ihre ~ / .bashrc einfügen und (das Terminal neu starten oder source ~/.bashrc), sollten die Farben noch stimmen .


2
Das Farbschema für Dircolors kann in einer für Menschen lesbaren Datei gespeichert und von bashrc mit eval " dircolors -b ~/.dir_colors" angewendet werden . Sehen Sie hier Beispiele für Farbschemata.
Alexei

jetzt meine Symlink ist die gleiche Farbe wie dir
ealeon

@ealeon Ah, es sieht so aus, als hätten Verzeichnisse diund Symlinks lndie gleiche Farbe wie 01;36. Wechseln Sie diese Farben, wenn Ihnen diese Unterscheidung wichtig ist. Dieses Farbschema ist das Standard-Farbschema, das ich gefunden habe.
Eric Leschinski

8

Wenn Sie vim mitteilen, dass Sie einen schwarzen Hintergrund (oder ein anderes dunkles Thema) verwenden, werden alle Farben aufgehellt, damit sie lesbar sind:

:set bg=dark

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.