2009-07-14 124 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