Wenn ich versuche, die bash
Eingabeaufforderung wie folgt einzufärben:
export PS1="\e[0;31m[\u@\h \W]\$ \e[m "
Es unterbricht den Zeilenumbruch (anstatt zu einer neuen Zeile zu wechseln, wenn die Zeile voll ist, beginnt es in derselben Zeile und löscht den eingegebenen Text).
Wenn ich die Farbfolge entferne, funktioniert es gut.
Ich benutze Ubuntu 11.10 und Terminal (guake hat auch den gleichen Fehler).
Antworten:
Sie müssen alle Escape-Sequenzen zwischen
\[
und\]
umbrechen, damit 'readline' die sichtbare Länge der Eingabeaufforderung korrekt berechnet. Ohne sie glaubt 'readline', dass die Eingabeaufforderung länger ist als sie ist, und weiß nicht, wann der Text den Rand erreicht.quelle
\[
,\]
? Ich denke schon, aber es scheint nicht für mich zu funktionieren.skip-csi-sequence
soll Eingabesequenzen unterdrücken , die von Sondertasten generiert werden.\e[xxm
Sequenz umbrechen , nicht die gesamte Zeichenfolge.\e[39m
mit\[\e[;39m\]
und es funktioniert gutDer [und] Tipp funktionierte auch unter OS X 10.8.2.
Ich benutze:
das zeigt mir meinen aktuellen git ast im einsatz.
quelle