Tmux powoduje problemy z Bash up-arrow [duplikat]

1

To pytanie ma już tutaj 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
)
dotancohen
źródło
1
Umieść wynik echo $PS1 w twoje pytanie.
JdeBP

Odpowiedzi:

0

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}.

JdeBP
źródło