The relevant option probably is PROMPT_SP
, explanaition from the manual
Attempt to preserve a partial line (i.e. a line that did not end
with a newline) that would otherwise be
covered up by the command prompt due to the PROMPT_CR option. This works by outputting some cursor-control
characters, including a series of spaces, that should make the terminal wrap to the next line when a partial
line is present (note that this is only successful if your terminal has automatic margins, which is typical).
When a partial line is preserved, by default you will see an inverse+bold character at the end of the partial line: a %
for a normal user or a #
for root. If set, the shell parameter PROMPT_EOL_MARK
can be
used to customize how the end of partial lines are shown.
So, either you do a
unsetopt PROMPT_SP
if you don't care about the covered up line (however in your case it seems to be a empty line, as you get the %
sign at the beginning).
Or use
setopt PROMPT_CR
setopt PROMPT_SP
export PROMPT_EOL_MARK=""
which preserves partial lines, but removes the %
-- at the cost of some empty lines over the prompt.
To make this permanent, update your ~/.zshrc
.
This is a blind shot, as I cannot reproduce this behaviour in my cmd.exe
.