Je me suis souvenu que bash pouvait faire ce qui suit:
Supposons qu'il y ait 3 fichiers: a, b, c dans le répertoire courant, lorsque j'entre:
$> somecommand *
puis appuyez sur une touche ou des combinaisons de touches ou une séquence de touches, le caractère générique * en ligne s'est développé comme suit:
$> somecommand a b c
mais je ne me souviens pas et je ne peux pas rechercher sur Google la séquence de touches! Aidez-moi!
Ctrl-X
*
Réponses:
Si ce n'est pas le cas, vous devrez vous lier
glob-expand-word
à une séquence de touches. Typiquement en ajoutant quelque chose comme:à
.inputrc
.Pour vérifier le problème de statut actuel, quelque chose comme:
Où le résultat pourrait être:
Ce qui signifierait:
Ctrl-x*
Cela fonctionne également très probablement:
Ctrl-xCtrl-*
Jetez un oeil à
bind -P
et manuel (s) pour d'autres subtilités.la source
Il semble que vous cherchiez à compléter la liste. Dans la page de manuel de
bash
:Cela dépend donc de la fonction d'achèvement pour une commande comment cela est terminé.
la source
Si vous utilisez
set -o vi
en bash, Ctrl-X*cela ne fonctionne pas.En
set -o vi
mode, vous devez utiliser à la Esc*place.la source
<C-X>*
cela fonctionnera, mais le<C-X>
est superflu et ne fait rien. (<C-X>
ne décrémente pas comme dans vi.) Si vous êtes en mode insertion, vous devez d'<Esc>
abord utiliser .man readline
. J'utilise Bash depuis 10 ans et j'en apprends encore de nouveaux.