Zshおよびbashで、ls c<TAB>
と入力すると、cで始まるすべてのファイル名が表示されます。代わりにls c*<TAB>
と入力すると、bashは同じように動作しますが、zshはc*
をcで始まるすべてのファイルのリストに置き換えます。 zshをbashのように動作させる方法はありますか?
setopt GLOB_COMPLETE
man zshoptions
から:
GLOB_COMPLETE
現在の単語にグロブパターンがある場合、展開の結果として生じるすべての単語を挿入するのではなく、完了に関して一致を生成し、MENU_COMPLETEのようにそれらを循環します。一致は、「*」がWordの末尾に追加されたか、COMPLETE_IN_Wordが設定されているときにカーソルに挿入されたかのように生成されます。これは実際にはグロブではなくパターンマッチングを使用するため、ファイルだけでなく、オプションやユーザー名などの補完に対しても機能します。
パターンマッチャーを使用する場合、マッチングコントロール(大文字と小文字を区別しないマッチングやアンカーマッチングなど)は使用できないことに注意してください。この制限は、現在のWordにパターンが含まれている場合にのみ適用されます。 GLOB_COMPLETEオプションをオンにするだけでは、この効果はありません。