2009-07-14 126 views
2

很抱歉,如果我的谷歌赋是太弱了,但我只是想调整的zsh,这样我可以使用Tab键完成编程自定义选项卡完成

someappname -s 

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

例如:

someapp -s f<tab> 

应该通过基于起始与字母F〜/ somedir文件完井周期。所以我可能会得到一个像“someapp -s foobar”这样的命令行。

回答

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帮助。

+2

您还可以看看奥利弗的Kiddle,杰里PEEK和彼得·斯蒂芬森书_From击到Z Shell_。 – Telemachus 2009-07-23 11:02:48

5

更简单的方法:

compdef "_files -W ~/somedir -/" someappname 
+2

如果`someappname`只将目录作为参数,则可以使用`_directories`而不是`_files`。 – Manki 2012-08-30 00:33:17