按扩展名过滤每个应用程序的 Tab 补全

按扩展名过滤每个应用程序的 Tab 补全

Saysomeprogram只需要*.abc文件作为命令行参数。在终端中,当我执行

$ someprogram <tab>

我想仅*.abc列出文件以供 Tab 自动完成。我该怎么做?我使用的 shell 是zsh

这种bash行为是通过complete -f -X '!*.abc' someprogram

答案1

仅列出*.abc文件:

compctl -g '*.abc' someprogram

也列出文件夹:

compctl -/ -g '*.abc' someprogram

相关内容