При использовании tmux
меня возникают проблемы с призрачными персонажами при использовании клавиш со стрелками вверх и вниз в Bash. Если я нажимаю клавишу « Стрелка вверх» несколько раз, а затем нажимаю клавишу « Стрелка вниз» несколько раз, то первые несколько символов предыдущей команды остаются в строке Bash.
Например, возьмем эту чистую строку Bash:
$
Теперь я нажимаю UpArrow три раза:
$ ls /home/dotancohen/Downloads
Теперь я нажимаю клавишу « Стрелка вниз» три раза:
$ ls /home/do
Я могу воспроизвести проблему без файла ~/.tmux.conf после выхода и перезапуска tmux
. Как я должен диагностировать это?
Изменить: вот мой $PS1
:
$ echo $PS1
\[\] - \h():\W$ \[\]
Обратите внимание, что все от второго обратного слеша до последней закрывающей скобки зеленого цвета. Эта функция создает приглашение:
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
)