補完ファイルは _emacs のように `_` から始まるファイル名にして、$fpath のパスが通っているディレクトリに保存すれば、次回 zsh 起動時 (つまり端末起動時) から利用できる。 要するに、.zshrc に fpath=($HOME/.zsh/myfunc $fpath) と書いておいて ~/.zsh/myfunc に作った自作補完ファイルを置いて、 autoload -U compinit ; compinit を呼べばよろしい。 最も単純なものは以下のような構造となる。ここでは emacs の --help,-q,--no-init-file,-u,--user の 5 つのオプションしか定義していない。 #compdef emacs _arguments -C -s \ '--help[display help message]' \ '(--no-init-file