Isso pode ser feito usando zsh-capture-completion . O arquivo README.md do repositório fornece vários exemplos:
capture.zsh 'vim -'
capture.zsh 'vim --'
capture.zsh 'vim --r'
capture.zsh 'echo *('
capture.zsh 'scp hostname:'
Observe que o próprio pacote declara que é uma prova de conceito e, como tal, pode conter erros em sua execução.