I colors nel prompt zshell causano un comportmento strano

Sto eseguendo OSX Lion 10.7.3, zsh versione 4.3.11. Ho scoperto che se ho i codici di escape di colore al mio prompt, ruota le cose. Ad esempio, se scorri in avanti attraverso la cronologia dei comandi su una row lunga e quindi ritorni a una più breve, molti dei caratteri non verranno cancellati. Se wheressi indovinare, contando il numero di personaggi visibili, quindi usando questo per determinare quanti personaggi in avanti per eliminare – ovviamente non si dovrebbero cancellare abbastanza caratteri.

Per quello che vale la pena, Ruby's Readline presenta lo stesso comportmento (che significa che non posso avere i colors nel mio prompt irb ).

bash comport perfettamente, quindi non so cosa sta succedendo. Suppongo che bash e zsh siano entrambi utilizzando la linea di readline … quindi non vedo ciò che dà.

Qualsiasi aiuto sarebbe molto apprezzato.

Aggiornato il 3/19/12

Ho provato sia il sistema zsh che quello installato tramite la brew install zsh – nessun dado in entrambi i modi.

Ecco l'output di otool -L /usr/local/Cellar/zsh/4.3.17/bin/zsh :

 /usr/local/Cellar/zsh/4.3.17/bin/zsh: /usr/local/lib/libgdbm.4.dylib (compatibility version 5.0.0, current version 5.0.0) /usr/local/lib/libpcre.0.dylib (compatibility version 1.0.0, current version 1.1.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0) /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0) 

Parte di me mi chiede se è un problema con libncurses, come suppongo che sia ciò che viene utilizzato la funzionalità di completamento e di storia.

Forse – avrei dovuto circondare i codici colore con %{ e %} , come qui accennato:

Comportmento strano di autocompletamento di zsh

Quindi, se volessi una porzione del prompt per essere blu, potrebbe sembrare così:

  export PS1=$'%{$fg[blue]%}${PWD/#$HOME/~}%{$reset_color%} %{$fg[red]%}→%{$reset_color%}' 

Sembra qualcosa di simile a ~/src → .