O shell e seu programa terminal precisam concordar:
-
o tamanho, os recursos e o comportamento da janela;
-
o número de caracteres exibidos nele; estes números podem começar a diferir, e. quando um lado assume o Unicode enquanto o outro assume a codificação latina ou quando um backspace não é tratado corretamente.
Suas configurações de termcap / terminfo e a configuração do seu programa de terminal devem ser consistentes, ou você terá exatamente o comportamento que descreve.
Infelizmente, eu não sou tão proficiente com essas configurações quanto gostaria de ser e não posso realmente identificar o que você deve mudar onde. (Tem que deixar espaço para os outros ganharem votos positivos, hein? ;-))