Disons que j'ai 3 fichiers dans un répertoire particulier :abc.txt, aww.txt, ant.txt
Si je fais :cat a
(et appuyez sur tab pour voir les options) le terminal affichera les 3 noms de fichiers :abc.txt, aww.txt, ant.txt
Existe-t-il un moyen de sélectionner le nième résultat plutôt que de le taper, en spécifiant le numéro d'index dans les résultats affichés par le terminal ?
quelque chose comme :cat a2
pour obtenir le deuxième fichier (aww.txt
) ?
Réponse acceptée :
En supposant que vous utilisez bash, ajoutez ce qui suit à votre ~/.bashrc
:
bind '"e[6~": menu-complete'
bind '"e[5~": menu-complete-backward'
Ou pour modifier les valeurs par défaut de tous les programmes qui utilisent la bibliothèque de complétion readline, pas seulement bash, créez le fichier ~/.inputrc
contenant :
$include /etc/inputrc
"e[6~": menu-complete
"e[5~": menu-complete-backward
Désormais, lorsque vous ouvrez un nouveau terminal, vous pouvez appuyer sur :
- TAB comme d'habitude pour voir les complétions disponibles.
- Pg Dn pour sélectionner la première complétion ou passer à la suivante.
- Page précédente pour sélectionner la dernière complétion ou passer à la précédente.
- Alt +n Pg Dn pour sélectionner la nième complétion ou avancer de n complétions.
Donc, pour votre exemple, tapez Pg Dn Pg Dn ou Alt +2 Pg Dn pour obtenir le deuxième fichier aww.txt
.