很抱歉,如果我的谷歌太弱了,但是:我只是想调整zsh以便我可以完成标签
someappname -s
使用〜/ somedir
的内容(文件名)例如:
someapp -s f<tab>
应该根据〜/ somedir中字母f开头的文件循环完成。所以我最终会得到一个命令行:“someapp -s foobar”。
答案 0 :(得分:5)
更简单的方法:
compdef "_files -W ~/somedir -/" someappname
答案 1 :(得分:2)
好吧,我解决了这个问题:(source at github)
#compdef diakonos
typeset -A opt_args
local context state line
local sessiondir
sessiondir=${HOME}/.diakonos/sessions
_arguments -n -s -S \
"-s[specify session]:session:_files -W $sessiondir" \
"*:file:_files" \
&& return 0
return 1
我引用了http://www.linux-mag.com/id/1106(需要[免费]注册阅读),并从freenode上的#zsh获得了帮助。