Wie kann ich meine Eingabeaufforderung so ändern, dass Unicode-Zeichen in Feldern angezeigt werden?

4

Wie bekomme ich eine $PS1 mit Box-Zeichen?

Ich lasse Bash laufen, wenn es einen Unterschied macht.

Wuffers
quelle
... Archer ist wohl der Name der Maschine?
Arjan
Könnte sein, aber ich interessiere mich nicht zu sehr für diesen Teil. Mich interessieren vor allem die Charaktere links: die seltsamen Balken und die quadratischen Charaktere.
Wuffers
Der Screenshot ist weg. Der Titel des Beitrags sollte geändert werden und bex-Zeichen oder geometrische Formen enthalten. Auf jeden Fall ist das Wort "Screenshot" in einem Titel eine schlechte Idee.
Ludovic Kuty

Antworten:

9

Wenn Sie einen Editor mit UTF-8-Unterstützung haben, können Sie den eingeben Unicode-Box-Zeichen und geometrische Formen direkt. So etwas wie:

PS1='┌─[blah][blah]
└─▪ '

Schreiben Sie dies mit Ihrem Editor in eine Datei und geben Sie die Datei in Ihre Bash-Sitzung mit ein source ./myfile. Wenn Sie bereit sind, es zu behalten, fügen Sie es Ihrer .bashrc-Datei hinzu.

Die andere, ältere Möglichkeit besteht darin, VT100-Escape-Codes zu verwenden, um zum Strichzeichnungszeichensatz des Terminals zu wechseln. In diesem Fall sieht Ihre PS1-Leitung folgendermaßen aus:

PS1='\[\e(0\]lq\[\e(B\][blah][blah]
\[\e[0\]mq~\[\e(B\] '

Das \[ und \] Teilen Sie bash mit, dass diese Teile der Eingabeaufforderung nicht gedruckt werden. Dies hilft zu wissen, wo sich der Cursor befindet, wenn Sie die Befehlszeile bearbeiten. Das \e(0 wechselt in den Strichzeichnung-Zeichensatz und die \e(B schaltet zurück. Im Strichzeichnungsmodus:

  • Ich bin ┌
  • q ist ─
  • m ist └
  • ~ ist ▪

Sie können eine vollständige Liste erstellen, indem Sie Dinge wie ausführen printf '\e(0 qwertyuiop \e(B \n' an der Bash-Eingabeaufforderung.

Jander
quelle
Perfekt! Ich habe gerade die Zeichen kopiert und es funktioniert wie ein Zauber! Vielen Dank!
Wuffers
Dies ist eine so willkommene Information. ich hatte vergessen, wie diese heißen und bin seit wochen auf der jagd! werde nicht wieder vergessen! Danke dir!
WhiteRau
0

Hier ist eine sehr schöne Auswahl verschiedener PS1:

Das, was du willst, ist folgendes:

Sie müssen es etwas ändern, aber die Elemente sind da. Ich schlage vor, Sie werfen einen Blick hier für weitere Informationen:

icyrock.com
quelle
Aus irgendeinem Grund kann ich die clock3 PS1 nicht zum Laufen bringen. Ich habe versucht, den Code exakt zu kopieren und einzufügen, aber es hat überhaupt nicht funktioniert. Ich verwende Terminal.app unter Mac OS X mit einer UTF-8-Codierung.
Wuffers
@Herr. Mann: Haben Sie die Datei als Quelle angegeben oder ausgeführt? Sie müssen es beschaffen.
Dennis Williamson
Ich habe die Datei bezogen. Als ich es tat, gab es mir einen Haufen Müll.
Wuffers
Der Grund, warum dies nicht funktionierte, ist die Verwendung des erweiterten IBM BIOS-Zeichensatzes aus den DOS-Tagen, der von der Textmodus-Konsole unter Linux unterstützt wird, jedoch nicht von xterm oder Terminal oder den meisten anderen Terminalemulatoren.
Jander
@Jander Danke für die Klarstellung und natürlich für die Antwort an Mr. Man!
icyrock.com