Wie kann ich die Farbe des 'ls'-Verzeichnisses unter zsh konfigurieren?


19

Ich benutze 'zsh'. In einem Verzeichnis, wenn ich 'ls --color = tty' tue. Ich sehe, dass einige Verzeichnisse 'blauen Text' mit 'grünem Hintergrund' haben, wodurch sie schwer zu lesen sind.

Können Sie mir bitte sagen, wie ich das konfigurieren soll?

Vielen Dank.

Antworten:


29

Angenommen, Sie verwenden GNU ls, können Sie die Farben mit der Umgebungsvariablen LS_COLORS angeben (beachten Sie, dass dies eine GNU- lsFunktion ist und nicht spezifisch für zsh).

GNU Coreutils hat ein Programm, dircolorsmit dem Sie eine einfach zu bearbeitende Konfigurationsdatei in eine richtige (komplizierte) LS_COLORS-Variable konvertieren können. Informationen man dircolorszum Befehl und man dir_colorszur Syntax der Konfigurationsdatei finden Sie unter.

Sie können

  1. Verwenden Sie dircolors --print-database >! dircolors.default, um die Standardeinstellungen zu speichern (sie enthalten einen Erklärungstext) und sie dann zu ändern.
  2. Google für ausgefallene vorkonfigurierte Dircolors-Dateien (wie diese https://github.com/seebi/dircolors-solarized (ich habe keine Beziehung dazu)).

Sobald dies erledigt ist, müssen Sie daraus dircolorseinen richtigen LS_COLORS machen. Beachten Sie, dass die Ausgabe in den dircolorsFormaten bash und csh erfolgt, da zshSie die bashformatierte Ausgabe verwenden sollten.

PS: Verwenden Sie ls --color=autostatt ls --color=tty.


Dies gilt nicht für benutzerdefinierte Farben. LS_COLORfunktioniert aus irgendeinem Grund nicht standardmäßig unter zsh. Siehe die zahlreichen anderen Beiträge, die sich darüber beschweren: 1) superuser.com/questions/700406/zsh-not-recognizing-ls-colors 2) github.com/robbyrussell/oh-my-zsh/issues/5349
Charlie Parker
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.