O tema wedisagree tem um comportamento estranho nas pastas git.
Em pastas normais, tudo funciona perfeitamente, mas quando chego a uma pasta git, o cursor do terminal fica 4 colunas à esquerda de onde deveria estar. Eu sei que foi uma descrição ruim, mas é fácil de reproduzir e espero que a captura de tela em anexo ajude.
Estou usando arch linux, awesome e terminador.
Quando eu vi coisas assim antes, muitas vezes foi um problema com a comunicação de larguras de caracteres para o terminal: caracteres não imprimíveis (largura 0) não foram escapados corretamente ou o terminal e sua fonte não concordam com a largura dos caracteres está.
wedisagree
parece bom para mim no Terminal.app e no iTerm2 no OS X 10.9.5. (Exceto para o RPROMPT
mudando em torno de alguns caracteres ao redimensionar o terminal.)
Não parece haver caracteres não imprimíveis sem escape em wedisagree
. (A menos que estejam ocultos nas variáveis ZSH_THEME_TIME_SINCE_*
.) Geralmente, essas são as sequências de escape de configuração de cores. Em wedisagree
, parece que todos foram escapados corretamente com a expansão de prompt zsh %{...%}
escapa.
Pode ser que o Terminator pense que alguns desses caracteres especiais em RPROMPT
sejam mais largos do que sua fonte pensa que são, como ☂, ☀ e 𝝙. Então o terminal ou curses
pode estar contando incorretamente quantos caracteres ele precisa alocar para essa seção RPROMPT
e quantos caracteres ele precisa mover o cursor de volta para voltar ao local original . O fato de o prompt direito estar alinhado à direita alguns caracteres a menos do lado direito do terminal é consistente com isso.
Para testar isso, faça uma cópia personalizada de wedisagree
e substitua esses caracteres por letras inglesas comuns. Eles estão nesta seção . Experimente também este tema em alguns outros terminais e veja como ele se comporta.
Se isso resolver as coisas, você provavelmente tem um desacordo de largura de terminal/fonte. (Ou um problema com curses
ou uma biblioteca semelhante.) Isso pode ser um problema de configuração ou aplicativo.
Pode ser que você tenha sua localidade configurada para uma codificação de byte único. Então, quando há caracteres multibyte como os símbolos especiais usados, o terminal ou biblioteca de cursores conta quantos caracteres estão sendo exibidos. Verifique sua saída locale
e certifique-se de que é uma localidade UTF-8 e que o Terminator suporta isso. E verifique se o seu perfil Terminator está configurado para UTF-8, e não ASCII ou qualquer outra coisa.
Ou se você estiver configurado para UTF-8. pode ser que o Terminator espere que esses caracteres especiais tenham várias células de largura quando exibidos. Isso não é algo que você possa consertar no OMZ ou na configuração; você precisa relatar isso ao Terminator.
Isso mesmo! Minha localidade do terminal estava errada.
Contexto
export LC_ALL=pt_BR.UTF-8
export LANG=pt_BR.UTF-8
no meu .zshrc
resolveu o problema, mesmo que minha configuração em /etc/locale.gen
estivesse correta.
Eu escrevi o tema wedisagree há um tempo atrás... É bom ver que está sendo usado por outras pessoas! Deixe-me saber se ele precisa ser atualizado, pois não uso o zsh há algum tempo.
Comentários muito úteis
Eu escrevi o tema wedisagree há um tempo atrás... É bom ver que está sendo usado por outras pessoas! Deixe-me saber se ele precisa ser atualizado, pois não uso o zsh há algum tempo.