Come inline espandere il carattere jolly in bash?


10

Ho ricordato che bash può fare quanto segue:

Supponiamo che ci siano 3 file: a, b, c nella directory corrente, quando inserisco:

$> somecommand *

e quindi premere un tasto o combinazioni di tasti o una sequenza di tasti, il carattere jolly * online si espande come:

$> somecommand a b c

ma non ricordo e non riesco a trovare la sequenza di tasti su Google! Aiuto!


5
ProvaCtrl-X *
Stéphane Chazelas il

Risposte:


7

In caso contrario, è necessario associarsi glob-expand-worda una sequenza di tasti. In genere aggiungendo qualcosa come:

"\C-x*": glob-expand-word

a .inputrc.

Per verificare l'attuale problema di stato, ad esempio:

bind -P | grep glob-expand-word

Dove potrebbe essere il risultato:

glob-expand-word can be found on "\C-x*".

Il che significherebbe:

Ctrl-x*

Anche questo molto probabilmente funziona:

Ctrl-xCtrl-*


Dai un'occhiata bind -Pe manuali per altre prelibatezze.


3

Sembra che tu stia cercando il completamento dell'elenco. Nella pagina man per bash:

 COMP_TYPE
     Set to an integer value corresponding to the type of completion
     attempted  that caused a completion function to be called: TAB,
     for normal completion, ?, for listing completions after succes
     sive  tabs, !, for listing alternatives on partial word comple
     tion, @, to list completions if the word is not unmodified,  or
     %,  for  menu  completion.   This variable is available only in
     shell functions and external commands invoked by  the  program
     mable completion facilities

Quindi dipende dalla funzione di completamento per un secondo comando come questo è completato.


2

Se stai usando set -o viin bash, allora Ctrl-X*non funziona.

In set -o vimodalità è necessario utilizzare Esc*invece.


1
Vale la pena notare che una volta che si è in modalità normale, <C-X>*funzionerà, ma <C-X>è superfluo e non fa nulla. ( <C-X>non diminuisce come in vi.) Se sei in modalità inserimento, devi <Esc>prima usare .
wchargin,

Questo è fantastico Come si chiamano? bash scorciatoie da tastiera? C'è della documentazione in cui posso trovare più di queste scorciatoie da tastiera?
Wisbucky,

2
@wisbucky: un po 'in ritardo, ma per chiunque altro, GNU Readline è responsabile di questi. Quando hai una giornata lenta, leggi la sezione COMANDI EDITING di man readline. Uso Bash da 10 anni e ne sto ancora imparando di nuovi.
Soren Bjornstad,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.