To pytanie ma już tutaj odpowiedź:
- Wystąpił błąd podczas naciskania strzałki w górę 1 odpowiedź
Podczas używania tmux
, Mam problemy znaki duchów podczas używania klawiszy strzałek w górę iw dół w Bash. Jeśli nacisnę Strzałka w górę kilka razy, a następnie naciśnij Strzałka w dół kilka razy pierwsze kilka znaków poprzedniego polecenia pozostaje w linii Bash .
Na przykład weź tę czystą linię Bash:
$
Teraz naciskam Strzałka w górę trzy razy:
$ ls /home/dotancohen/Downloads
Teraz naciskam Strzałka w dół trzy razy:
$ ls /home/do
Mogę odtworzyć problem bez pliku ~ / .tmux.conf po zamknięciu i ponownym uruchomieniu tmux
. Jak mam to zdiagnozować?
Edytować: Tutaj jest mój $PS1
:
$ echo $PS1
\[\] - \h():\W$ \[\]
Zauważ, że wszystko od drugiego ukośnika odwrotnego do ostatniego zamkniętego nawiasu jest zielone. Ta funkcja tworzy monit:
PROMPT_COMMAND=$(
cat<<-'EOF'
retval=$?
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
STOP=$(tput sgr0)
c=0
for i in $retval ${PIPESTATUS[@]}; do ((c += $i)); done
if (($c == 0)); then
PS1="\[$GREEN\] - \h(${WINDOW}):\W$ \[$STOP\]"
else
PS1="\[$RED\] - \h(${WINDOW}):\W$ \[$STOP\]"
fi
EOF
)
echo $PS1
w twoje pytanie.Odpowiedzi:
Jest to oczywiście ten sam problem i ta sama przyczyna, jak w przypadku https://superuser.com/a/695350/38062 . W tym konkretnym przypadku, nie uciekająca sekwencja ucieczki, o której zapomniałeś rozgraniczyć
\[
i\]
, a to jest banjanxing bash, najwyraźniej jest gdzieś w rozszerzeniu${WINDOW}
.źródło