Restructuré avec le recul permettant de mettre en contraste les avantages et les inconvénients de l'utilisation par [.]inputrc
rapport à .bash_profile
.
Astuce du chapeau à underscore_d pour son aide.
Remarque: l’ édition de ligne de commande dans Bash est fournie par la bibliothèque Readline; la personnalisation est non triviale, mais vaut la peine d'être apprise; ses fonctionnalités incluent la possibilité de définir des raccourcis clavier personnalisés pour l'insertion d'extraits de texte prédéfinis - voir Modification à la ligne de commande dans le Manuel de référence Bash
Pour rendre la complétion de tabulation insensible à la casse de manière persistante dans Bash:
Option A: Si vous avez déjà:
vous envisagez de personnaliser la bibliothèque readline de manière approfondie et / ou souhaitez rendre les personnalisations efficaces pour les scripts également lorsqu'ils appellent read -e
:
Ajouter une ligne
set completion-ignore-case on
dans un fichier, selon que vous souhaitez ou non que le paramètre soit effectif pour tous les utilisateurs ou pour l' utilisateur actuel (créez le fichier si nécessaire).
Une commande connexe facilitant la complétion des noms de fichiers et de répertoires est la suivante:
set show-all-if-ambiguous on
Cela évite d'avoir à appuyer deux fois sur la touche Tab lorsqu'il y a plus d'une correspondance.
Option B: vous pouvez également ajouter des commandes Readline à votre ~/.bash_profile
fichier spécifique à l' utilisateur sous OS X (ou ~/.bashrc
Linux), en les transmettant en tant qu'argument unique à la commande bind
intégrée :
bind "set completion-ignore-case on"
bind "set show-all-if-ambiguous on"
Notez que les bind
commandes dans ~/.bash_profile
/ ~/.bashrc
ont priorité sur les commandes équivalentes dans /etc/inputrc
ou ~/.inputrc
.
Comme indiqué ci-dessus, la configuration de Readline définie de cette manière ne sera pas prise en compte dans les scripts appelant read -e
à activer le support Readline pour la lecture des entrées utilisateur.
/etc/inputrc
ou~/.inputrc
ou un fichier désigné parINPUTRC
sont les seuls endroits où il peut aller. Entrer cela à une invite Bash ne fonctionnera pas.