I'm trying to fix a minor (but annoying) issue with my zsh prompt. The problem I'm seeing is that when I'm using a terminal in a GUI OS environment (for example, Terminal.app or iTerm 2 on OS X 10.7.2) and resize the terminal window, the terminal is redrawn with extra prompts.
I've reproduced the issue on a clean .zshrc that contains the following:
export PROMPT=">
"
To be clear, that's a two-line file. There is a literal newline in the string, which I've read in several (admittedly old) places is the way to go. This works until I resize the terminal window, at which point I end up with duplicate prompt strings. For example if I open a new window, I see (*
being used a placeholder for my cursor):
Last login: Wed Jan 25 19:05:06 on ttys000
>
*
Then when I resize the window, making it shorter, I end up with:
Last login: Wed Jan 25 19:05:06 on ttys000
>
>
>
>
*
The number of extra prompt printouts seems roughly proportional to how much I change the window size -- usually vertically. If I remove the newline from the prompt string, the problem goes away.
I've tried various things, like $(print ">\n")
, or trying to wrap the newline in %{%}
. I'm assuming this has to do with the fact that newline confuses whatever is drawing w.r.t how long the prompt string actually is, or something. Is this problem fixable or do I just have to live with it?