Zsh почему-то дублирует набранную строку и передвигает её при автодополнении. Вот на картинке показан момент, когда я ввёл m и нажал Tab. Причем, если сейчас m стереть, курсор так и останется справа.
Вторая проблема с длинными строками: не переносятся они, а как-то продолжаются поверх старой.
Что делать?
Решение
Проблема была в строке приглашения с цветами. Как подсказал Muhas, их надо было обрамлять странной конструкцией вида %{color%}.
PROMPT="%~ %(#.%{$bg%}.%{$fg%})%n%{$reset_color%}@%m%(?.%{$fg%}.%{$bg%}) >%{$reset_color%} "