Como posso fazer com que a conclusão da guia zsh corrija erros de capitalização para diretórios e arquivos?

Como posso fazer com que a conclusão da guia zsh corrija erros de capitalização para diretórios e arquivos?

Eu mudei para zsh completamente em uma instalação anterior do arch e ADOREI principalmente porque arch é uma das distros que coloca em maiúscula seus Documentos, Downloads, Música e outros diretórios em seu diretório ~. Como eu não estava acostumado com isso e uso o preenchimento de guias para quase tudo no terminal, o zsh foi como o paraíso para mim em comparação com o bash... Juro que esse recurso costumava ser ativado automaticamente porque não me lembro de ter que ajustar qualquer coisa para que funcione dessa maneira. Provavelmente descobri isso por acidente. xD Mas eu gostaria muito de ter esse recurso restaurado em meu novo pc usando zsh como meu shell principal, e se alguém souber como fazer isso eu realmente apreciaria uma resposta. Tentei ativar todas as opções na configuração de conclusão e isso não pareceu funcionar... então isso me trouxe até aqui.

PS: Eu estava bem mais atualizado com meu know-how em Linux, e meu conhecimento ficou obsoleto... Estou tentando remediar isso... (sem o uso da tecla shift, tanto quanto possível... haha)

Responder1

DR: Isso é possível se você colocar estas linhas em seu zsharquivo de configuração, normalmente ~/.zshrc:

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

Um pouco mais de informação:

Isto é possível quando se utiliza o sistema de conclusão zsh(iniciado por autoload -Uz compinit && compinit) e é controlado por umestilo z:

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

Isso indica zshque letras minúsculas corresponderão a letras minúsculas e maiúsculas. (ou seja, letras maiúsculas correspondem apenas a letras maiúsculas.)

Se você quiser que letras maiúsculas também correspondam a letras minúsculas, use:

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

Se você quiser correspondência sem distinção entre maiúsculas e minúsculas apenas se não houver correspondências com distinção entre maiúsculas e minúsculas, adicione '', por exemplo

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

Veja também a descrição de matcher-list em man zshcompsys.

informação relacionada