Estou tentando corrigir um problema menor (mas irritante) no meu prompt do zsh. O problema que estou vendo é que, quando estou usando um terminal em um ambiente de GUI OS (por exemplo, Terminal.app ou iTerm 2 no OS X 10.7.2) e redimensionamos a janela do terminal, o terminal é redesenhado com avisos extras .
Reproduzi o problema em um .zshrc limpo que contém o seguinte:
export PROMPT=">
"
Para deixar claro, é um arquivo de duas linhas. Há uma nova linha literal na string, que eu li em vários lugares ( reconhecidamente antigos ) é o caminho a percorrer. Isso funciona até que eu redimensione a janela do terminal; nesse ponto, terminarei com seqüências de caracteres duplicadas. Por exemplo, se eu abrir uma nova janela, vejo ( *
sendo usado um espaço reservado para o meu cursor):
Last login: Wed Jan 25 19:05:06 on ttys000
>
*
Então, quando redimensiono a janela, diminuindo, acabo com:
Last login: Wed Jan 25 19:05:06 on ttys000
>
>
>
>
*
O número de impressões extras de prompt parece aproximadamente proporcional ao quanto altero o tamanho da janela - geralmente na vertical. Se eu remover a nova linha da string de prompt, o problema desaparecerá.
Eu tentei várias coisas, como $(print ">\n")
, ou tentando envolver a nova linha %{%}
. Eu estou assumindo que isso tem a ver com o fato de que a nova linha confunde o que está desenhando, quanto tempo a string de prompt realmente tem, ou algo assim. Esse problema é corrigível ou eu apenas tenho que conviver com ele?
print
é um comando específico do ZSH, e o "linux print" do Google não fornece resultados muito bons.print
faz parte do zsh. Você pode ver a ajuda para issoman zshbuiltins
. O Bash tem seu próprio equivalente, mas não tenho certeza de que sejam compatíveis.Que tal algo como isso:
fonte