Когда я набираю команду длиной более 20 символов, текст исчезает, и курсор перемещается в другое место в терминале. Как мне это остановить? Мне трудно понять, что я делаю, когда это происходит.
В вашем $PROMPT могут быть escape-последовательности, которые следует заключить в %{...%}, чтобы они не учитывались при подсчете zsh длины отображаемого приглашения.
$PROMPT
%{...%}
zsh
Может быть неправильный тип TERM, приводящий к неправильному позиционированию курсора. Для OS X Terminal.app этот тип термина хорошо работает для большинства приложений на основе curses:
$ echo $TERM xterm-color
Он также должен хорошо работать в xterm.
xterm
Здесь не происходит, так что я подозреваю, что в вашей настройке, вероятно, zsh.
Вы пытались переместить все свои файлы ~ / .zsh * и начать с пустой среды?