O preenchimento automático de guias de caracteres acentuados com oh-my-zsh não funciona

5

Não consigo exibir corretamente nomes de arquivo com preenchimento automático que contenham caracteres acentuados como ã em minha configuração de shell de zsh e oh-my-zsh

Eu 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 autocompletar como cat c<tab> , isso acontece:

% cat ca<0303>o.txt
hi dog

e echo $0 me dão: -zsh

Mas, se eu for para uma sessão "simples" zsh , o mesmo preenchimento automático funcionará corretamente:

% zsh
% echo $0
zsh
%  cat cão.txt
hi dog

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 variável LANG Eu tentei vazia, com "en_US.UTF-8" e também "pt_PT.UTF-8" . Além disso, verifiquei novamente se as configurações de locale são exatamente as mesmas antes e depois da sessão "simples" zsh .

Também funciona da mesma maneira tanto no aplicativo OSX do terminal padrão quanto no iTerm2.

Estou usando a versão zsh 5.0.7 .

Aqui está o meu arquivo .zshrc , bem como outros dotfiles que estou usando.

Eu tentei desinstalar oh-my-zsh e instalá-lo da maneira automática e manual, sempre com o mesmo problema de exibir caracteres acentuados com preenchimento automático.

    
por nunos 07.01.2015 / 23:33

1 resposta

1

Parece o comportamento padrão zsh normal. Se combinar caracteres são exibidos combinados durante o preenchimento automático é controlado pela opção combining_chars shell. Para tê-lo completo em cão , coloque isso no seu arquivo ~/.zshrc .

setopt combining_chars

Não consigo reproduzir seu comportamento quando este é o padrão para shells que não fazem login ( zsh vs -zsh ).

No caso de zsh -f e o não-login zsh , eles estão obtendo apenas /etc/zshenv e não os outros arquivos de configuração. Talvez você tenha seu /etc/zshenv configurado para setopt combining_chars e algo mais tarde na sequência de inicialização esteja redefinindo.

    
por 18.02.2015 / 09:47