zshで中括弧拡張を使用して完了動作を変更する

zshで中括弧拡張を使用して完了動作を変更する

私はzshで拡張なしで中括弧内でタブ補完を使用することに慣れました。これは、デフォルトの grml 構成で zsh を使用する場合に可能です。 oh-my-zshに移行した後、この動作を再現することはできません。

例:

$ touch dir/{some_file,other_f<TAB>}

私が望む行動:

$ touch dir/{some_file,other_file}

私が得る行動は次のとおりです。

$ touch dir/some_file dir/other_f

ファイル名の Tab キーを押すたびに、タブはオートコンプリートではなく中かっこを拡張して中かっこ拡張の目的を無効にします。

関連する回答を見つけるためにマンページとzshサイトを検索しましたが、満足のいく回答が見つかりませんでした。私はzshに初めて触れたので、正確に何を探しているのかわかりません。

この問題に関する説明を見つけることができる場所を教えてくれてありがとう。役立つコメントをお寄せいただきありがとうございます!

ベストアンサー1

トールが彼の本で指摘したようにコメント、中括弧オートコンプリートは、閉じる中括弧を配置するまでのみ機能します。

だから:

  • touch dir/{some_file,other_f<TAB>(閉じ括弧なし!)はファイル名をオートコンプリートするので、次のようになります。touch dir/{some_file,other_file

  • touch dir/{some_file,other_f<TAB>}(閉じる中括弧を使用してください!)最初に中括弧を展開すると、次のような結果が得られます。touch dir/some_file dir/other_f

おすすめ記事