El autocompletado de pestañas de caracteres acentuados con oh-my-zsh no funciona

El autocompletado de pestañas de caracteres acentuados con oh-my-zsh no funciona

No puedo mostrar correctamente los nombres de archivos autocompletados que contienen caracteres acentuados como ãen mi configuración de shell de zshyoh-mi-zsh.

Creé un nombre de archivo cão.txtpara demostrar este problema. Si estás interesado, eso significa dogen portugués.

Entonces, cuando intento completar automáticamente como cat c<tab>, sucede esto:

% cat ca<0303>o.txt
hi dog

y echo $0me da:-zsh

Pero, si voy a una zshsesión "simple", exactamente el mismo autocompletado funciona bien:

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

Mi localees así:

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"

y la LANGvariable la probé vacía, con "en_US.UTF-8"y también "pt_PT.UTF-8". Además, verifiqué dos veces que la localeconfiguración sea exactamente la misma antes y después de ir a la zshsesión "normal".

También funciona de la misma manera tanto en la aplicación OSX del terminal predeterminado como en iTerm2.

Estoy usando la versión zsh 5.0.7.

Aquí está mi.zshrcarchivo, así como otros archivos de puntos que estoy usando.

Intenté desinstalarlo oh-my-zshe instalarlo de forma automática y manual, siempre con el mismo problema de mostrar caracteres acentuados con autocompletar.

Respuesta1

Esto parece zshun comportamiento predeterminado normal. La opción del shell controla si los caracteres combinados se muestran combinados durante la función de autocompletar combining_chars. Para tenerlo completo cão, coloque esto en su ~/.zshrcarchivo.

setopt combining_chars

No puedo reproducir su comportamiento donde este es el valor predeterminado para shells sin inicio de sesión ( zshvs ).-zsh

En el caso de zsh -fy sin inicio de sesión zsh, solo se obtienen /etc/zshenvy no los demás archivos de configuración. Tal vez lo haya /etc/zshenvconfigurado setopt combining_charsy algo más adelante en la secuencia de inicialización lo esté restableciendo.

información relacionada