Sto cercando di risolvere un problema minore (ma fastidioso) con il mio prompt di zsh. Il problema che sto vedendo è che quando sto usando un terminale in un ambiente con sistema operativo GUI (ad esempio Terminal.app o iTerm 2 su OS X 10.7.2) e ridimensionando la finestra del terminale, il terminale viene ridisegnato con prompt aggiuntivi .
Ho riprodotto il problema su un .zshrc pulito che contiene quanto segue:
export PROMPT=">
"
Per essere chiari, questo è un file a due righe. C'è una nuova riga letterale nella stringa, che ho letto in diversi posti ( certamente vecchi ) è la strada da percorrere. Questo funziona fino a quando non ridimensiono la finestra del terminale, a quel punto finisco con stringhe di prompt duplicate. Ad esempio, se apro una nuova finestra, vedo ( *
essendo utilizzato un segnaposto per il mio cursore):
Last login: Wed Jan 25 19:05:06 on ttys000
>
*
Quindi quando ridimensiono la finestra, rendendola più breve, finisco con:
Last login: Wed Jan 25 19:05:06 on ttys000
>
>
>
>
*
Il numero di stampe di prompt aggiuntive sembra approssimativamente proporzionale a quanto cambio le dimensioni della finestra, di solito in verticale. Se rimuovo la nuova riga dalla stringa del prompt, il problema scompare.
Ho provato varie cose, come $(print ">\n")
, o cercando di avvolgere la nuova riga %{%}
. Suppongo che ciò abbia a che fare con il fatto che newline confonde qualsiasi cosa stia disegnando e quanto sia lunga la stringa del prompt, o qualcosa del genere. Questo problema è risolvibile o devo solo conviverci?
print
sia un comando specifico per ZSH, e googling "linux print" non ti dà ottimi risultati.