Por um tempo, já tive esse problema persistente em todos os meus terminais, desde o gnome default e o tilda que eu tanto uso até os que eu apenas dei um giro rápido, onde minha entrada substitui o início de sua própria linha quando deveria quebra automática e quebra automática apenas na próxima linha.
Pressionar Ctrl-A para retornar ao início da linha retornará a mim em algum lugar na linha antes da minha primeira linha de entrada, da qual qualquer outra entrada fica muito estranha.
Como essa é uma explicação muito ruim e difícil de visualizar, veja como fica:
Alguém sabe o que é isso? Isso não acontece apenas sob certas circunstâncias, é uma coisa permanente que está sempre lá do início ao fim de cada sessão em cada emulador de terminal.
Saída de printf "%s\n" "$PS1" "$COLUMNS":
leod:~$ printf "%s\n" "$PS1" "$COLUMNS"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
80
Saída de stty -a:
leod:~$ stty -a
speed 38400 baud; rows 11; columns 140; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
testsaia do terminal em um estado instável. Se é um script, você pode incluí-lo na sua pergunta? O que acontece se você começar a digitar sem executar testprimeiro, o texto é quebrado normalmente?
stty -atambém, por favor?
type -a testvez disso.
printf "%q\n" "$PS1"? Pode haver seqüências de escape brutas dentro do PS1 e as %sdeixa intactas (o que pode, por exemplo, alterar a cor para frente e para trás, que permanece despercebida na saída). %qcita todos os caracteres não imprimíveis de maneira legível.

printf "%s\n" "$PS1" "$COLUMNS", por favor.