¿Cómo puedo hacer que la finalización de tabulación zsh corrija los errores de uso de mayúsculas en directorios y archivos?

¿Cómo puedo hacer que la finalización de tabulación zsh corrija los errores de uso de mayúsculas en directorios y archivos?

Cambié completamente a zsh en una instalación anterior de arch y ME ENCANTÓ principalmente porque arch es una de las distribuciones que pone en mayúscula sus Documentos, Descargas, Música y directorios similares en su directorio ~. Como no estaba acostumbrado a eso y uso la función de finalización de tabulación para casi todo en la terminal, zsh era como el cielo para mí en comparación con bash.... Juro que esta característica solía estar activa automáticamente porque no recuerdo haber tenido que modificar cualquier cosa para que funcione de esa manera. Probablemente lo descubrí por accidente. xD Pero me gustaría mucho restaurar esta característica en mi nueva PC usando zsh como mi shell principal, y si alguien sabe cómo hacerlo, realmente agradecería una respuesta. Intenté activar todas las opciones en la configuración de finalización y eso no pareció funcionar... así que eso me trajo aquí.

PD: Solía ​​estar mucho más actualizado con mis conocimientos de Linux, y mis conocimientos se han vuelto obsoletos... Estoy tratando de remediar eso... (sin el uso de la tecla Mayús, tanto como posible... jaja)

Respuesta1

TL;DR: Esto es posible si pones estas líneas en tu zsharchivo de configuración, normalmente ~/.zshrc:

autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'

Un poco más de información:

Esto es posible cuando se utiliza el sistema de finalización zsh(iniciado por autoload -Uz compinit && compinit) y está controlado por unzestilo:

zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'

Esto indica zshque las letras minúsculas coincidirán con las letras minúsculas y mayúsculas. (es decir, las letras mayúsculas coinciden sólo con letras mayúsculas).

Si desea que las letras mayúsculas también coincidan con las minúsculas, utilice en su lugar:

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'

Si desea una coincidencia que no distinga entre mayúsculas y minúsculas solo si no hay coincidencias que distingan entre mayúsculas y minúsculas, agregue '', por ejemplo

zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'

Véase también la descripción de matcher-list en man zshcompsys.

información relacionada