Jak wstawić symbol wieloznaczny w bash?

10

Pamiętam, że bash może wykonać następujące czynności:

Załóżmy, że w bieżącym katalogu są 3 pliki: a, b, c, gdy wprowadzam:

$> somecommand *

a następnie naciśnij klawisz lub kombinacje klawiszy lub sekwencję klawiszy, symbol wieloznaczny * online rozwinął się jako:

$> somecommand a b c

ale nie pamiętam i nie mogę wyszukać sekwencji klawiszy! Wsparcie!

kamień
źródło
5
SpróbujCtrl-X *
Stéphane Chazelas

Odpowiedzi:

7

Jeśli tak nie jest, musisz powiązać glob-expand-wordsekwencję klawiszy. Zazwyczaj przez dodanie czegoś takiego:

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

do .inputrc.

Aby sprawdzić aktualny status, coś takiego:

bind -P | grep glob-expand-word

Gdzie może być wynik:

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

Co oznaczałoby:

Ctrl-x*

To również najprawdopodobniej działa:

Ctrl-xCtrl-*


Zobacz bind -Pi poradniki dla innych drobiazgów.

Runium
źródło
3

Wygląda na to, że szukasz uzupełnienia listy. Na stronie podręcznika dla 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

Zależy to więc od funkcji uzupełniania i sposobu jej wykonania.

Anthon
źródło
2

Jeśli używasz set -o vibash, to Ctrl-X*nie działa.

W set -o vitrybie musisz użyć Esc*zamiast tego.

JohnGH
źródło
1
Warto zauważyć, że gdy jesteś w trybie normalnym, <C-X>*będzie działać, ale <C-X>jest zbyteczny i nic nie robi. ( <C-X>nie zmniejsza się tak jak w vi.) Jeśli jesteś w trybie wstawiania, musisz <Esc>najpierw użyć .
wchargin
To jest świetne. Jak się nazywa? skróty klawiaturowe? Czy jest jakaś dokumentacja, w której mogę znaleźć więcej tych skrótów klawiaturowych?
wisbucky
2
@wisbucky: Trochę za późno, ale za kogokolwiek innego odpowiada za to GNU Readline. Gdy masz wolny dzień, przeczytaj sekcję EDYTOWANIE POLECEŃ man readline. Używam Basha od 10 lat i wciąż uczę się nowych.
Soren Bjornstad,