Combiner la complétion de l'onglet de zsh avec l'insensibilité à la casse

10

J'ai zsh 5.0.7 configuré pour utiliser la complétion de tabulation insensible à la casse avec

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

Le problème que j'ai, c'est que cette insensibilité à la casse m'amène souvent à devoir appuyer Tabune fois de plus. Par exemple, mon répertoire personnel contient les dossiers «Bureau», «Documents» et «Téléchargements». Si je suis dans mon dossier personnel et que je tape

cd D

puis appuyez sur Tab, je vois les trois possibilités énumérées pour moi. Par contre, si je tape

cd d

puis appuyez sur Tabpuis le «d» devient «D» mais je ne vois pas le menu de fin; Je dois appuyer à Tabnouveau pour que cela se produise. Existe-t-il un moyen d'obtenir le menu de finition en même temps que le «d» est changé en «D»?

bdesham
la source
avez-vous activé l'option menucomplete?
llua
@llua Non, je ne l'ai pas fait. Cela semble être ce que je veux. Pouvez-vous poster cela comme réponse?
bdesham

Réponses:

9

L'activation de l'option MENU_COMPLETEsautera la correction et insérera immédiatement la première correspondance possible.

llua
la source
4
Merci pour le conseil! Pour ceux qui se demandent, comme je l'étais, la commande complète est setopt MENU_COMPLETE, doit être placée dans.zshrc
cbcoutinho
1

Un autre paramètre utile pourrait être

setopt no_list_ambiguous

Il corrigera "c" en "C" et affichera le menu d'achèvement.

Shaoyun
la source