Si j'ai plusieurs répertoires, comme :
afoo abar
parfois mon terminal refusera la saisie semi-automatique lorsque j'appuie sur tabulation (par exemple "cd a" puis tabulation) et imprimera la liste des répertoires à la place. Parfois, il émet même un son bruyant et ennuyeux. Avez-vous une idée de la façon de le rendre automatique dans des cas comme celui-ci ? Par exemple, il peut afficher abar d'abord, puis afoo si j'appuie à nouveau sur tab. J'ai vu que c'était le cas sous Windows, ou certaines applications sous Ubuntu
Meilleure réponse
Ce qui me sauve la vie, c'est que bash passe en revue les possibilités au lieu d'afficher une liste stupide.
Comme bash utilise readline
pour son auto-complétion, ajoutez les lignes suivantes à ~/.inputrc
Une fois que vous êtes satisfait et que vous avez soigneusement testé la solution ci-dessous pendant quelques jours/semaines, coupez et collez (ne copiez pas !) les mêmes paramètres de ~/.inputrc
vers /etc/inputrc
qui contient les paramètres à l'échelle du système, ce qui les rend disponibles pour tous les utilisateurs de votre système (y compris les invités).
Le code :
# mappings to have up and down arrow searching through history:
"e[A": history-search-backward
"e[B": history-search-forward
# mappings to have left and right arrow go left and right:
"e[C": forward-char
"e[D": backward-char
# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"t": menu-complete
"e[Z": menu-complete-backward
puis exit
votre terminal (ou terminal distant comme putty) et rouvrez-le…
Exemples :
-
Lorsque vous avez 3 fichiers :
file1
,file2
etfile3
et tu tapes :e fTabTabTab
il passera en revue :
e file1 e file2 e file3
et lorsque vous voulez revenir en arrière, appuyez simplement sur Maj +Tab
-
Lorsque vous tapez :
very-complicated-command with lots of command line parameters
et la prochaine fois que vous aurez besoin de la même commande, il vous suffira de taper :
very↑
et il tapera pour vous :
very-complicated-command with lots of command line parameters