Ich habe dieses Problem seit 10.9.
cd /Volumes/Storage/backup/long/path
curl -X GET http://localhost:8888
curl
Der angezeigte Befehl wird so weit nach links verschoben, dass Leerzeichen nach rechts gelassen werden:
Ist das ein bekannter Fehler oder liegt es nur an mir?
Es ist dein $PS1
- es ist nicht richtig entkommen. Sie müssen alle nicht druckbaren Zeichen mit \[
und maskieren \]
. Zum Beispiel, wenn Sie haben
PS1='\e[32m\u \W\e[0m $ '
Sie müssen es ändern
PS1='\[\e[32m\]\u \W\[\e[0m\] $ '
oder Ihr Cursor erscheint weit rechts, weil Ihre Shell denkt, dass Ihre Eingabeaufforderung so lang ist, und wenn sie den Befehl erneut eingibt, kann sie ihn nicht finden. Ärgerlich, ich weiß. In zsh
müssen Sie %{
und %}
IIRC verwenden.
Und während Sie überlegen, zu einer anderen Muschel zu wechseln, würde ich Fisch vorschlagen . Es ist ein bisschen mehr wie ein Sprung, aber es hält mich bei Verstand.
PS1
kann PS1='\[\e[0;33m\]\u\[\e[0m\]:\[\e[0;32m\]\w\[\e[0m\]\$ '
ich nicht recht erkennen, was nicht entkommen ist.export
Variablen zu schalen. Interaktive Sub-Shells führen das Startskript aus und definieren die Variable, und es ist im Allgemeinen unerwünscht, dass Programme, die Sie von der Shell ausführen, Shell-spezifische Variablen erben.Die unglückliche Antwort lautet: Es liegt nur an Ihnen.
Meine bash
ist:
bash-3.2$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Copyright (C) 2007 Free Software Foundation, Inc.
Und iTerm2 ist die neueste Version und verhält sich wie erwartet: Strg-E während einer umgekehrten Verlaufssuche bringt mich an das Ende der Zeile, ein Zeichen nach dem letzten Zeichen in der ausgewählten Zeile.
Es könnte etwas in Ihrer bash
Konfiguration sein, das das Problem verursacht. Sie können Ihre ~/.bash_profile
und ~/.bashrc`-Dateien beiseite verschieben und Strg-R und Strg-E ausprobieren und sehen, ob sich die Dinge besser verhalten. Wenn dies der Fall ist, ersetzen Sie Ihre Anpassungen einzeln und sehen Sie, ob Sie den Übeltäter erkennen können.
Das Ändern export TERM="xterm-color"
von export TERM="xterm"
in meinem .bash_profile
hat das Problem für mich behoben.
Jan C.
bash
?zsh
? Und um den zweiten Teil Ihrer Frage zu beantworten: Bei mirzsh
passiert 5.0.7 nicht, wenn ich das neueste iTerm2 auf 10.10.2 verwende. Die Bearbeitung beginnt wie erwartet am Ende des Befehls.Kar
bash
3.2.53 und das neueste iTerm2.Jan C.
bash
3.2.57 funktioniert hier wie erwartet für mich. Es setzt den Cursor jedes Mal ein Zeichen hinter das letzte Zeichen in der Zeile.Kar
zsh
, und ich bin sehr zufrieden damit!Jan C.