Est-il possible de configurer bash pour la saisie semi-automatique avec un onglet comme zsh?


13

Comme la plupart des gens le savent ici, lorsque vous utilisez bash à l'invite de commande si vous tapez partiellement un nom de fichier, une commande ou une option pour une commande, etc., bash terminera le mot s'il y a exactement une correspondance.
Lorsqu'il y a plus d'une correspondance, vous devez frapper <Tab>deux fois et bash générera une liste de correspondances possibles.
Je voudrais configurer bash pour fournir simplement ces options sur le premier <Tab>.
Est-ce possible sans écrire de script? c'est à dire une option shell?

man bash a une section "achèvement programmable" mais je n'ai pas pu distinguer s'il y a une option pour activer "l'achèvement d'un seul onglet".


Réponses:


17

Mettez ceci dans votre ~/.inputrc:

set show-all-if-ambiguous on

Pour un crédit supplémentaire, ajoutez:

set completion-ignore-case on

Toutes les options sont dans le manuel GNU ...


3
Attention: cela ~/.bash_profilene fonctionnera pas. Cela doit aller dans votre~/.inputrc
yndolok

5
Sans blague ... C'est pourquoi j'ai spécifié de le placer là.
jasonwryan

6

Je n'ai pas assez de réputation pour commenter, mais j'ajouterais aux réponses de jasonwryans qu'il peut être ajouté à .bash_profileou .bashrcen les écrivant comme:

bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'

Au cas où quelqu'un d'autre trouverait cette question comme moi.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.