2

对不起,如果我的 google fu 太弱了,但是:我只是想调整 zsh 以便我可以 tab 完成

someappname -s

使用 ~/somedir 的内容(文件名)

例如:

someapp -s f<tab>

应该根据 ~/somedir 中以字母 f 开头的文件循环完成。所以我最终可能会得到一个命令行,例如:“someapp -s foobar”。

4

2 回答 2

5

更简单的方法:

compdef "_files -W ~/somedir -/" someappname
于 2012-01-05T02:09:03.610 回答
2

好吧,我解决了这个问题:(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 获得帮助。

于 2009-07-14T17:39:24.967 回答