web-dev-qa-db-ja.com

bashのようにワイルドカードを完成させるためにzshのオートコンプリートを取得するにはどうすればよいですか?

Zshおよびbashで、ls c<TAB>と入力すると、cで始まるすべてのファイル名が表示されます。代わりにls c*<TAB>と入力すると、bashは同じように動作しますが、zshはc*をcで始まるすべてのファイルのリストに置き換えます。 zshをbashのように動作させる方法はありますか?

3
m42a
setopt GLOB_COMPLETE

man zshoptionsから:

GLOB_COMPLETE

現在の単語にグロブパターンがある場合、展開の結果として生じるすべての単語を挿入するのではなく、完了に関して一致を生成し、MENU_COMPLETEのようにそれらを循環します。一致は、「*」がWordの末尾に追加されたか、COMPLETE_IN_Wordが設定されているときにカーソルに挿入されたかのように生成されます。これは実際にはグロブではなくパターンマッチングを使用するため、ファイルだけでなく、オプションやユーザー名などの補完に対しても機能します。

パターンマッチャーを使用する場合、マッチングコントロール(大文字と小文字を区別しないマッチングやアンカーマッチングなど)は使用できないことに注意してください。この制限は、現在のWordにパターンが含まれている場合にのみ適用されます。 GLOB_COMPLETEオプションをオンにするだけでは、この効果はありません。

4
mkarasek