Seltsamer Fehler im OS X-Terminal: Der Cursor kehrt nach dem Zurückverfolgen nicht zum Zeilenende zurück

Ich habe ein interessantes Problem: wenn ich etwas im Terminal wie folgt eingebe:

~ me$ hello<cursor>

und zurück:

~ me$ he<cursor>llo

und versuchen Sie dann, zum Ende zurückzukehren, um mit der Eingabe fortzufahren, vielleicht nachdem ich einen Fehler behoben habe, bleibe ich vor dem letzten Zeichen hängen:

~ me$ hell<cursor stuck here>o

Weiß jemand, wie man das beheben kann? Ich habe versucht, mich umzusehen und das Terminal auf xterm anstelle von xterm-256-color usw. zu ändern, aber kein Glück. Jede Hilfe wird sehr geschätzt!

Bearbeiten: Ich benutze die Pfeiltasten, um mich hin und her zu bewegen.

Haben Sie jemals Ihre Dateien ~/.bash_profile oder ~/.bashrc geändert?
Nein, aber ich habe eine modifizierte ~/.inputrc-Datei, die von hier kopiert wurde, um einige Verbesserungen vorzunehmen: github.com/whiteinge/dotfiles/blob/master/.inputrc
Ich kann nicht herausfinden warum, aber es ist das, was das Problem verursacht.

Antworten (2)

Ich weiß, dass dies eine alte Frage ist, aber ich zerbreche mir das jetzt seit ein paar Tagen und ich habe es endlich verstanden. Es stellt sich heraus, dass die Lösung einfach ist: Aktualisieren Sie bash auf 4.3 . Die Standard-Bash auf Macs (sogar Yosemite) ist 3.2.

Installieren Sie Homebrew mit

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

dann mach

brew install bash

Ändern Sie dann Ihren Standard-Shell-Pfad (in den Terminaleinstellungen) in

/usr/local/bin/bash

und das ist es. Überprüfen Sie Ihre Bash-Version mit

bash --version

und als zusätzlichen Bonus können Sie Modusanzeigen erhalten!

bind 'set show-mode-in-prompt on'

und es wird ein +für den Einfügemodus und :für den Befehlsmodus angezeigt.

Da ich nicht genug Wiederholungen habe, um dies als Kommentar hinzuzufügen, muss ich dies im Antwortbereich stellen ( auch wenn davon abgeraten wird).

Erstens, wie versuchen Sie, den Cursor zu bewegen? Verwenden Sie die Pfeiltasten oder verwenden Sie die grundlegenden vi- Befehle? dh haben Sie versucht: $?

Auf jeden Fall wäre es hilfreich, wenn Sie genauer angeben würden, welche Tasten Sie in dem von Ihnen bereitgestellten Beispiel drücken (dh ob Pfeile oder Tastenkombinationen und falls letzteres, welche spezifischen Tastenkombinationen).