A opção relevante provavelmente é PROMPT_SP
, explanação do 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 parameterPROMPT_EOL_MARK
can be used to customize how the end of partial lines are shown.
Então, você faz um
unsetopt PROMPT_SP
se você não se importa com a linha encoberta (no entanto, no seu caso, parece ser uma linha vazia, já que você recebe o sinal %
no começo).
Ou use
setopt PROMPT_CR
setopt PROMPT_SP
export PROMPT_EOL_MARK=""
que preserva linhas parciais, mas remove o %
- ao custo de algumas linhas vazias sobre o prompt.
Para tornar isso permanente, atualize seu ~/.zshrc
.
Esta é uma foto cega, já que não consigo reproduzir esse comportamento no meu cmd.exe
.