На этот вопрос уже есть ответ здесь:
В окне терминала меньше полноэкранного, если я введите длинную команду, она начнет перезаписывать текущую строку, в которой я нахожусь. Если я ввожу значение дополнительной строки, она, наконец, переходит к следующей строке. Кто-нибудь знает, как это исправить?
Вот что происходит визуально:
Edit : Это мои настройки подсказки:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$ '
TERM=xterm
.bashrc
:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$ '
fi
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
Я нашел ответ здесь. Ответ с большинством голосов решил его для меня.
Для подведения его, я должен был перенести свои форматы в \[ \]
export PS1='\[\033[1;32m\]$(whoami)@$(hostname): \[\033[0;37m\]$(pwd)$ \[\033[0m\]'
Для тех, кто использует терминал PuTTY (v0.67) и размер терминала не обновляется корректно:
По какой-то причине размер терминала неверно сообщает. Это должно измениться, когда вы измените размер терминала.
Попробуйте это в своем командном файле .bashrc:
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize