Antworten:
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
dircolors --print-database >! dircolors.default, um die Standardeinstellungen zu speichern (sie enthalten einen Erklärungstext) und sie dann zu ändern.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.
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