Bash utilise une librairie nommée readline pour parser l'entrée utilisateur.

Cette librairie readline développée par la projet GNU est paramétrable à l'envie via un fichier spécifié par la variable d'environnement INPUTRC. En l'absence de cette variable, c'est le fichier ~/.inputrc qui est lu.

Par exemple, pour supprimer le bip énervant lorsque l'on appuie sur la touche TAB, il suffit d'ajouter dans le fichier ~/.inputrc:

set bell-style none

Si on veut maintenant que la complétion sur les noms de fichiers soit insensible à la casse, il faut ajouter:

set completion-ignore-case on

Si ensuite on souhaite que la complétion fasse plus que proposer les choix possibles mais sélectionne d'emblée la première possibilité et que chaque appui sur TAB prenne en compte le choix possible suivant, il faut utiliser la complétion à la "mode vim":

TAB: menu-complete
set show-all-if-ambiguous on

On peut également changer les valeurs de editingmode et de keymap pour ne plus avoir les raccourcis de emacs par défaut (Ctrl-R, Ctrl-S, Ctrl-A, Ctrl-E ...) mais ceux de vi à la place.

Pour une liste exhaustive des options du fichier de configuration de readline, on pourra consulter la man page correspondante.