私はこれに会った質問Bashで私のglobパターンをインラインに拡張する方法を見つけようとしています。しかし、私の場合、スキーマにいくつかの文字クラスが含まれています。
3つのファイルがあるとしましょう。abc
bbc
1bc
私が入力したとき:
$> somecommand [[:alpha:]]bc
私はコマンドをインラインで拡張できるキーの組み合わせがあるかどうか疑問に思います。
$> somecommand abc bbc
私はCtrl+X
*
成功せずにキーシーケンスを試しました。単純なグローバルパターンでのみ機能するように見えますが、パターンに特定の文字クラスが含まれている場合は拡張されません。[[:alpha:]]
ベストアンサー1
これは、単語を完成させるための単語区切り文字と見なされる文字の:
リスト(シェル変数に公開されている)があるためです。readline
bash
$COMP_WORDBREAKS
後ろに:
COMP_WORDBREAKS=${COMP_WORDBREAKS/:}
:
(から削除されました$COMP_WORDBREAKS
)、Ctrl+がX*機能するはずです。
:
文字クラス内で使用されるので、そもそもこのリストにあってはならないと主張することもできますが、次のような目的で完成機能を使用できるようにしたいという根拠があると思います。
パス=~/bin:/usr/locTab
Ctrlそして、両方を収容するには、メカニズムがあまりにも粗すぎて(+ X*onを削除しても機能しないことがわかります'a'*
)、トレードオフです。どちらの場合も、適切な高度な編集機能を備えたシェルをここで確認してください。'
$COMP_WORDBREAKS
zsh