GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einfärben Ihrer Terminal- und Shell-Umgebung?

Ich verbringe die meiste Zeit damit, in Unix-Umgebungen zu arbeiten und Terminal-Emulatoren zu verwenden. Ich versuche, Farbe in der Befehlszeile zu verwenden, weil Farbe die Ausgabe nützlicher und intuitiver macht.

Welche Optionen gibt es, um Farbe in meine Terminalumgebung zu bringen? Welche Tricks verwendest du? Auf welche Fallstricke sind Sie gestoßen?

Leider variiert die Farbunterstützung je nach Terminaltyp, Betriebssystem, TERM-Einstellung, Dienstprogramm, fehlerhafter Implementierung usw.

Hier sind einige Tipps aus meinem Setup, nach vielen Experimenten:

  1. Ich neige dazu, TERM=xterm-color zu setzen , die auf den meisten Hosts unterstützt wird (aber nicht auf allen).
  2. Ich arbeite auf mehreren verschiedenen Hosts, verschiedenen Betriebssystemversionen usw. Ich verwende alles von macOS X, Ubuntu Linux, RHEL/CentOS/Scientific Linux und FreeBSD. Ich versuche, die Dinge möglichst einfach und generisch zu halten.
  3. Ich mache eine Menge Arbeit mit GNU screen , was noch mehr Spaß macht.
  4. Viele Betriebssysteme setzen Dinge wie dircolors und standardmäßig, und ich möchte dies nicht auf hundert verschiedenen Hosts ändern. Also versuche ich mich an die Vorgaben zu halten. Stattdessen passe ich die Farbkonfiguration meines Terminals an.
  5. Verwenden Sie Farbe für einige Unix-Befehle (ls , grep , less , vim ) und die Bash-Eingabeaufforderung. Diese Befehle scheinen die standardmäßigen „ANSI-Escape-Sequenzen“ zu verwenden. Zum Beispiel:

    alias less='less --RAW-CONTROL-CHARS'
    export LS_OPTS='--color=auto'
    alias ls='ls ${LS_OPTS}'
    

Ich werde meine .bashrc posten und beantworte meine eigene Frage Jeopardy Style.

Akzeptierte Antwort:

Hier sind ein paar Dinge, die Sie tun können:

Editoren + Code
Viele Editoren unterstützen die Syntaxhervorhebung. vim und emacs habe es standardmäßig an. Sie können es auch unter nano aktivieren .

Sie können auch Code auf dem Terminal syntaktisch hervorheben, indem Sie Pygments als Befehlszeilentool verwenden.

grep
grep --color=auto hebt alle Spiele hervor. Sie können auch export GREP_OPTIONS='--color=auto' verwenden um es ohne Alias ​​persistent zu machen. Wenn Sie --color=always verwenden , wird auch beim Paspelieren Farbe verwendet, was die Dinge verwirrt.

ls

ls --color=always

Farben angegeben durch:

export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'

(Hinweis:dircolors kann hilfreich sein)

PS1
Sie können Ihre PS1 (Shell-Eingabeaufforderung) so einstellen, dass sie Farben verwendet. Zum Beispiel:

PS1='e[33;[email protected]: e[31mWe[0m$ '

Wird eine PS1 produzieren wie:

[gelb][E-Mail geschützt]:[rot]~[normal]$

Dabei kann man richtig kreativ werden. Als Idee:

PS1='e[se[0;0He[1;33mh    tne[1;32mThis is my computere[u[[email protected]:  w]$ '

Fügt eine Leiste oben auf Ihrem Terminal mit zufälligen Informationen hinzu. (Verwenden Sie für beste Ergebnisse auch alias clear="echo -e 'e[2Jnn'" .)

Escape-Sequenzen entfernen

Verwandte:Nicht aufgeführte Bildschirmauflösung?

Wenn etwas bei der Ausgabe von Farbe hängen bleibt, wenn Sie es nicht möchten, verwende ich diesen sed Zeile zum Entfernen der Escape-Sequenzen:

sed "s/[^[[0-9;]*[a-zA-Z]//gi"

Wenn Sie ein authentischeres Erlebnis wünschen, können Sie auch Zeilen entfernen, die mit e[8m beginnen , die das Terminal anweist, den Text auszublenden. (Nicht weithin unterstützt.)

sed "s/^[^[8m.*$//gi"

Beachten Sie auch, dass diese ^[s tatsächliche, wörtliche ^[s sein sollten. Sie können sie eingeben, indem Sie in der Bash ^V^[ drücken, also Strg + V , Strg + [ .


Linux
  1. So ändern Sie die Farbe Ihres Linux-Terminals

  2. Begeben Sie sich in Ihrem Linux-Terminal auf ein Abenteuer

  3. So machen Sie Ihr Linux-Terminal und Ihre Shell weihnachtlich

  4. Endgeschwindigkeit:Sich schnell in Ihrer Hülle bewegen

  5. Farbe in Shell/Terminal deaktivieren

Ändern Sie das Farbthema Ihres Linux-Terminals

Bringen Sie mit lolcat Farbe in Ihr Linux-Terminal

Holen Sie sich Filmbewertungen und Rezensionen direkt auf Ihr Terminal

Top 10 der besten Ubuntu-Terminalthemen und Farbschemata

Bash-Anfängerserie Nr. 1:Erstellen Sie Ihr erstes Bash-Shell-Skript und führen Sie es aus

Was ist der Unterschied zwischen einer Konsole, einem Terminal und einer Shell?