Bashは次のことができることを覚えています。
現在のディレクトリにa、b、cという3つのファイルがあるとします。
$> somecommand *
次に、キー、キーの組み合わせ、またはキーシーケンスを押すと、ワイルドカード文字*がオンラインで次のように展開されます。
$> somecommand a b c
しかし、キーシーケンスを覚えておらず、Googleで検索することもできません!助ける!
答え1
glob-expand-word
そうでない場合は、キーシーケンスにバインドする必要があります。通常、次のようなものを追加します。
"\C-x*": glob-expand-word
到着する.inputrc
。
現在の状態の問題を確認するには、次の手順を実行します。
bind -P | grep glob-expand-word
結果は次のとおりです。
glob-expand-word can be found on "\C-x*".
これは次のことを意味します。
Ctrl-x*
これも動作する可能性が最も高いです。
Ctrl-xCtrl-*
bind -P
詳細についてはマニュアルを参照してください。
- その他のコマンド
- GNUコマンドライン編集インターフェース:コマンドラインの編集
答え2
リストの完成を探しているようです。マニュアルページから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
したがって、一部のコマンドの完了機能がどのように完了するかによって異なります。
答え3
set -o vi
bashで使用すると機能しませんCtrl-X*。
モードではをset -o vi
使用する必要がありますEsc*。