hoge[tab]でサブコマンドが補完され、 サブコマンドの後はファイル、ディレクトリが補完されるように。 サブコマンドとファイル名を補完する 下記を.zshrcに記載してexec $SHELL やっていることは compdefで_hogecmdという補完用functionを定義し、hogeコマンドを実行したときに呼び出されるように。 function内のcmdsで補完したいサブコマンドを列挙 CURRENT == 2でhogeのあとに補完されるのはサブコマンドだけと指定 _describeで補完候補で表示されるときにsubcommandというグループになるようにしている サブコマンドのあとは_filesでファイルとディレクトリが補完されるように 参考になるサイト zshの補完関数の書き方がまとまっているところがほとんど無いので下記が非常参考になります。 zsh補完関数を自作すると便利 -