Este problema é devido a como o ZSH reimprime o promt em eventos de redimensionamento e também me incomodou antes. A solução é criar $PROMPT
linha única e imprimir a primeira linha do prompt usando um prefmd.
Então, no seu exemplo, isso seria simplesmente:
precmd() { print ">" }
export PROMPT=""
ou para um exemplo mais sofisticado com rápida expansão no comando print use os parâmetros -rP
:
precmd() { print -rP "%~" }
export PROMPT="%# "
Se você tiver mais de um pré-registrado, precisará usar add-zsh-hook precmd
(consulte man zshcontrib
).