При включении escape-последовательностей для задания цвета в строке приглашения PS1 наблюдаются проблемы с редактированием длинных строк - bash начинает предполагать начало строк абы где.
Надо заключить все упоминания об установке цвета в \[ и \], например, если у нас было
PS1='\033[0;33;40m[\t]\033 \[\033[1;31;40m[\033[1;32;40m\u@\h:\033[1;33;40m\w\033[1;31;40m]\033[1;35;40m $\033[0;37;0m ' export PS1
То надо привести это к следующему виду:
PS1='\[\033[0;33;40m\][\t]\[\033\] \[\033[1;31;40m\][\[\033[1;32;40m\]\u@\h:\[\033[1;33;40m\]\w\[\033[1;31;40m\]]\[\033[1;35;40m\]\n\$\[\033[0;37;0m\] ' export PS1
Источник решения: Как изменить приглашение bash?
Источник примера PS1: Раскраска консоли bash
Дискуссия