![O preenchimento automático de guias de caracteres acentuados com oh-my-zsh não funciona](https://rvso.com/image/36010/O%20preenchimento%20autom%C3%A1tico%20de%20guias%20de%20caracteres%20acentuados%20com%20oh-my-zsh%20n%C3%A3o%20funciona.png)
Não consigo exibir corretamente nomes de arquivos preenchidos automaticamente que contêm caracteres acentuados, como ã
na configuração do meu shell zsh
eoh-meu-zsh.
Criei um nome de arquivo cão.txt
para demonstrar esse problema. Se você estiver interessado, isso significa dog
em português.
Então, quando tento preencher automaticamente like cat c<tab>
, isso acontece:
% cat ca<0303>o.txt
hi dog
e echo $0
me dá:-zsh
Mas, se eu for para uma zsh
sessão "simples", exatamente o mesmo preenchimento automático funciona bem:
% zsh
% echo $0
zsh
% cat cão.txt
hi dog
O meu locale
é assim:
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
e a LANG
variável que tentei vazia, com "en_US.UTF-8"
e também "pt_PT.UTF-8"
. Além disso, verifiquei novamente se as locale
configurações são exatamente as mesmas antes e depois de ir para a zsh
sessão "simples".
Além disso, funciona da mesma maneira no aplicativo OSX do terminal padrão e no iTerm2.
Estou usando a versão zsh 5.0.7
.
Aqui está o meu.zshrcarquivo, bem como outros dotfiles que estou usando.
Já tentei desinstalar oh-my-zsh
e instalar tanto de forma automática quanto manual, sempre com o mesmo problema de exibição de caracteres acentuados com preenchimento automático.
Responder1
Isso parece zsh
um comportamento padrão normal. Se os caracteres combinados são exibidos combinados durante o preenchimento automático é controlado pela combining_chars
opção shell. Para concluí-lo cão
, coloque-o em seu ~/.zshrc
arquivo.
setopt combining_chars
Não consigo reproduzir seu comportamento onde este é o padrão para shells sem login ( zsh
vs ).-zsh
No caso de zsh -f
e não-login zsh
, eles são originários apenas /etc/zshenv
, e não os demais arquivos de configuração. Talvez você tenha /etc/zshenv
configurado setopt combining_chars
e algo mais tarde na sequência de inicialização esteja redefinindo-o.