Le terminal d'Ubuntu utilise l'auto-complétion sensible à la casse, comme on pourrait s'y attendre pour Linux.
Mais je pense qu’il serait souvent plus pratique d’utiliser une solution insensible à la casse à la place, pour vous éviter d’être précis au début du nom, et que les faux positifs supplémentaires en valent probablement la peine. Est-il possible de changer ce comportement?
Afin de rendre bash
insensible à la casse pour l'utilisateur actuel:
Exécutez le script Shell suivant dans un terminal:
# If ~/.inputrc doesn't exist yet: First include the original /etc/inputrc
# so it won't get overriden
if [ ! -a ~/.inputrc ]; then echo '$include /etc/inputrc' > ~/.inputrc; fi
# Add Shell-option to ~/.inputrc to enable case-insensitive tab completion
echo 'set completion-ignore-case On' >> ~/.inputrc
Démarrer un nouveau shell (rouvrir le terminal).
Pour effectuer les modifications à l'échelle du système:
# add option to /etc/inputrc to enable case-insensitive tab completion for all users
echo 'set completion-ignore-case On' >> /etc/inputrc
Pour plus de détails, voir man bash
. Oui, la page est longue, mais bash est un programme assez complexe, et si vous souhaitez simplement rechercher dans cette page la mention "sensible à la casse" pour accéder à la section correspondante. Les gens apprennent généralement bash une option à la fois ou un script à la fois et il faut beaucoup de temps pour maîtriser toutes les nuances. Votre intérêt peut varier.
Ouvrez un terminal et tapez la commande ci-dessous:
echo set completion-ignore-case on | Sudo tee -a /etc/inputrc
Entrer le mot de passe. Redémarrez le terminal.
Si, dans certains cas, vous souhaitez supprimer la casse, modifiez simplement le fichier/etc/inputrc en supprimant la ligne set completion-ignore-case
.
C'est tout.
Je sais que cette question est très ancienne, mais à moins que quelque chose ne me manque, je pense avoir une solution très simple si vous utilisez bash.
echo "bind 'set completion-ignore-case on'" >> ~/.bashrc
Ou simplement ajouter la ligne en utilisant votre éditeur de texte préféré. Redémarrez votre session bash et profitez-en.
Vous pouvez le faire en définissant une variable de configuration pour GNU readline, qui gère l’entrée dans un shell interactif.
La variable nécessaire est completion-ignore-case
et peut être définie directement dans votre session bash avec:
bind "set completion-ignore-case on"
Il peut être activé pour toutes les futures sessions bash en le mettant dans le fichier ~/.inputrc
des utilisateurs ou dans le système /etc/inputrc
pour l'activer pour tous les utilisateurs. C'est le fichier d'initialisation pour readline.
Cependant, notez que si vous créez ~/.inputrc
, cela remplacera la copie système . (Pour moi, certains mappages de clés, tels que Ctrl-Left
/Right
name__, m'ont été perdus. Vous pouvez voir lesquels en lisant attentivement le fichier /etc/inputrc
.)
Pour résoudre ce problème, placez la ligne $include /etc/inputrc
en haut de ~/.inputrc
, par exemple:
$include /etc/inputrc
set completion-ignore-case on
Pour appliquer les modifications, redémarrez bash ou rechargez inputrc , par exemple. avec Ctrl+x,Ctrl+r.
Plus d'informations sur readline et inputrc sont disponibles dans man bash
et man 3 readline
.