TL; DR
Alles, was Sie tun müssen, ist dies in Ihr ~/.zshrc
(oder in die gleiche Datei wie Ihr Eingabeaufforderungs-Thema) zu schreiben:
ZLE_RPROMPT_INDENT=0
Einzelheiten
In Versionen von ZSH bis 5.0.2 wurde ein Wert in ZSHs C-Quellcode rprompt_off
(der den Versatz am rechten Rand festlegte) auf fest programmiert 1
.
In der Version 5.0.5 haben die Entwickler jedoch die Möglichkeit hinzugefügt, diesen Standardwert durch Festlegen der ZLE_RPROMPT_INDENT
Umgebungsvariablen zu überschreiben .
Die Gründe für diesen „Gedankenstrich“ sind , weil einige älteren Terminals Scrollen beginnen würden , wenn die letzte Zelle des Displays in ihm einen Charakter hat.
Für Versionen von ZSH vor 5.0.5
Wenn Sie eine ältere Version von ZSH verwenden und keine Aktualisierung durchführen können, können Sie diesen Speicherplatz trotzdem entfernen, indem Sie beide der folgenden Schritte ausführen:
- Trick ZSH zu denken , Ihre RPROMPT ein Zeichen kürzer ist, als es tatsächlich ist den Standard unsichtbare Sequenz Wrapper:
%{...%}
- Dann senden Sie eine Cursor-Back-Escape-Sequenz mit terminfo:
%{terminfo[cub1]}
Lesen Sie die FAQ und diese Nachricht auf der Mailingliste, um weitere Informationen zu erhalten.
Anthony Michael Cook
quelle
%git<Tab>
verwandelt sich in%ggit
Ich habe einen Fehlerbericht an die zsh-Betreuer gesendet, aber es scheint, dass dieses Verhalten beabsichtigt ist. Dieses Problem ärgerte mich jedoch so sehr, dass ich mich entschied, zsh selbst als temporäre Korrektur zu patchen und zu kompilieren. Wenn Sie unter OS X arbeiten und Homebrew verwenden (das sollten Sie), können Sie zsh einschließlich meines Patches installieren, indem Sie Folgendes ausführen:
Sie werden wahrscheinlich
/usr/local/bin/zsh
zu/etc/shells
und nach hinzufügen wollenchsh -s /usr/local/bin/zsh
. Und zum Schluss hier noch das Rohling für alle, die sich dafür interessieren:quelle
Ich denke, der weiße Raum rechts ist hartcodiert. Sie können aber
zsh
mit folgender Einstellung tricksen :was im Prinzip sagt,
zsh
dass der Stern keine Zeichen besetzt; vonman zshmisc
:Der Nachteil ist, dass Sie das Leerzeichen an das Ende von "verschieben"
PROMPT
:Die
|
Symbole kennzeichnen die Endkanten, ■ den Cursor.Eine andere Idee wäre, um
COLUMNS
1 zu erhöhen :Man muss sich aber überlegen, wie man das nur für das Prompt-Rendering macht, nicht aber für die Befehle. Dadurch wird das letzte Zeichen in jeder Zeile einer mehrzeiligen Befehlszeile verschluckt.
quelle