Wie bekomme ich in iTerm2 verschiedene Farben für Verzeichnisse usw.?

26

Ich habe ein neues MacBookPro und die neueste Version von iTerm2 installiert.

Selbst nachdem ich verschiedene Farbschemata importiert habe, stelle ich fest, dass sie nur die Farbe des Texts und des Hintergrunds ändern.

Was ich erwartet hatte, waren verschiedene Farben für Dateien VS Verzeichnisse, VS versteckte Dateien usw. usw. Wie mache ich das auf iTerm2?

Eine verwandte Frage ist, wie kann ich tatsächlich festlegen, welche Farben die Verzeichnisse, Dateien usw. haben sollen?

Vielen Dank

Spacey
quelle
Danke @JohnN, das hat geholfen, aber bitte schauen Sie sich meine Bearbeitung an.
Spacey

Antworten:

26

Sie müssen zwei Dinge tun:

  • Setzen Sie die LSCOLORSUmgebungsvariable
  • Erstellen Sie einen Alias ​​für ls, damit standardmäßig Farben angezeigt werden

Fügen ~/.bash_profileSie Folgendes hinzu:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

alias ls='ls -lGH'        <-----This shows in list format, follow symlinks colorized

Die Farben werden von jedem Bit oben eingestellt; der erste ist der Vordergrund und der zweite der Hintergrund. Die ersten beiden Zeichen beziehen sich auf Verzeichnisse mit einem fettblauen Vordergrund und einem hellgrauen Hintergrund.

Es gibt jedoch ein großartiges Online-Hilfsprogramm, mit dem Sie in Echtzeit sehen können, was jede der Farben bedeutet und wie sie aussieht. Es wird sogar der "Code" für Sie generiert. (Ich bin damit überhaupt nicht verbunden). Es wird sowohl unter MacOS / FreeBSD als auch unter Linux funktionieren. Stellen Sie sicher, dass Sie die BSD-Option für macOS auswählen.

LSCOLORS-Rechner


Die Reihenfolge der Attribute lautet wie folgt:

1. verzeichnis
2. symbolischer Link
3. Steckdose
4. Rohr
5. ausführbar
6. Spezial blockieren
7. Charakter speziell
8. Mit gesetztem setuid-Bit ausführbar
9. Mit gesetztem setgid-Bit ausführbar
10. Verzeichnis, das mit einem Sticky-Bit für andere schreibbar ist
11. Verzeichnis für andere beschreibbar, ohne zu kleben

Die Farbbezeichnungen lauten wie folgt:

ein schwarzer
b rot
c grün
d braun
e blau
f Magenta
g cyan
h hellgrau
Ein fettgedrucktes Schwarz wird normalerweise als dunkelgrau angezeigt
B fett rot
C fett grün
D Fettbraun, normalerweise gelb
E fett blau
F Fett Magenta
G fett cyan
H fett hellgrau; sieht aus wie strahlend weiß
x Standard Vordergrund oder Hintergrund
Allan
quelle
Hallo Allan, danke! Ein paar Fragen, können Sie etwas mehr erklären über i) Warum muss ich es in .bash_profile einfügen und nicht sagen, welche .zshrc ich denke, und ii) etwas mehr über den Export-LSCOLORS-Teil? Gehe ich zu der von Ihnen genannten Seite und stelle dort mein Farbschema ein? Wie passt das dann zu den Farbschemata von iterm2? Vielen Dank!
Spacey
Vielleicht ist es das, was mich verwirrt: Ich benutze iterm2. Was bedeutet das für welche Datei, die wir ändern? (.bash_profile VS .zshrc)? Für das, was es wert ist, auf dieser neuen Maschine habe ich derzeit weder ...
Spacey
Ah, ok, das Echo zeigt bash. Also sollte ich ein neues ~ / .bash_profil erstellen, da es meines Erachtens keines gibt.
Spacey
4

Eine Alternative dazu LSCOLORSist GRC (der GeneRic Colouriser) , der mit so ziemlich jeder Befehlszeilen-App verwendet werden kann, nicht nur ls.

Wenn Sie Homebrew installiert haben, installieren Sie grcmit brew install grc- dies richtet die Aliase automatisch ein, einschließlich für ls. Es enthält Aliase und Konfigurationsdateien für viele verschiedene Befehle, und es ist (relativ) trivial, eine Konfigurationsdatei mit regulären Python-Ausdrücken für jeden Befehl zu hacken, grcder derzeit nicht behandelt wird ( tmutilund launchctlzum Beispiel).

(Ich wollte dies zu der Frage hinzufügen, die ich als mögliche Täuschung gemeldet habe, aber mit Ihrer Bearbeitung ist es hier wahrscheinlich nützlicher!)

John N
quelle
Ich habe grc installiert und ls wurde überhaupt nicht eingefärbt. 'type ls' gibt '/ bin / ls', nichts mit Alias. Zurück zur Bash-Profil-Lösung, denke ich.
6005
@ 6005, hast du GRC mit installiert brew? (Und erfolgreich installiert, ohne Fehler?) Was brew doctormeldet - irgendwelche Probleme? Welche Shell verwenden Sie und haben Sie die Konfiguration der Shell überhaupt geändert? Möglicherweise müssen Sie Ihre .bash_profile(oder die Konfiguration für die von Ihnen verwendete) Shell bearbeiten, um die GRC-Aliase zu erhalten. Mein .bash_profilehat dies (obwohl ich es selbst hinzugefügt habe - meine Bash-Konfiguration ist ziemlich esoterisch ...):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N
4

Öffne bash_profile mit folgendem Befehl:

open ~/.bash_profile

und füge die folgenden Zeilen hinzu:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

Quell bash_profile dann mit:

source ~/.bash_profile
KayV
quelle
KayV was macht das genau? Können Sie bitte erweitern?
TheGrapeBeyond