Ich habe dieses seltsame und wirklich ärgerliche Problem im Bash-Vi-Modus.
Env: Mac 10.9.2, iTerm 2 1.0 oder Terminal.app,$TERM={screen-256color|xterm-256color|xterm|vt}
Repro-Schritte:
Das Problem ist:
Ich sehe "some_long_commands_long_long" auf meiner Befehlszeile. Der Cursor steht aber nicht am Anfang, sondern auf dem 12. Zeichen, siehe Screenshot
Wenn ich drücke A, um einen anderen Text anzuhängen, geht der Cursor über den Befehl hinaus, was bedeutet, dass der REAL-Befehl dort beginnt, wo sich der Cursor an der ersten Stelle befindet, das Rendering ist falsch.
Ich habe bei Google gesucht, aber nichts gefunden ... Hat jemand eine bessere Idee dazu? Vielen Dank...
Nach langem Debuggen habe ich es endlich herausgefunden. Es ist ein Problem, das von PS1 verursacht wird. Im Grunde habe ich vergessen, mein farbiges ">" mit "\[" und "\]" zu umschließen.
Basierend auf Kommentaren in Stackoverflow liegt das Problem IMHO in einer tmux/iTerm/settings-Kombination, nicht in sich bash
selbst. Sie sollten versuchen, das Problem Schritt für Schritt zu lösen:
Terminal.app
mit einem sauberen ~/.profile
und~/.tmuxrc
set -o vi
mal ohnetmux
iTerm
und erneut prüfen (sollte funktionieren)tmux
in Terminal.app
und in iTerm
und vergleichen Sie ... beide sollten funktionieren..tmuxrc
Konfiguration ...
Jiesi Luo