2011-11-07 68 views
3

我有一個自定義函數,zsh爲我提供了默認的選項卡完成。 它完成當前工作目錄的路徑。這很好,但我想 就像完成(只有這個特定的功能)以不同的方式表現 :就好像我總是在特定的目錄中一樣。zsh完成:使用來自特定目錄的路徑,而不是當前目錄

這可以通過很少的工作來實現嗎?我喜歡像 compdef myfunc="cd /my/dir" ...

要添加一些背景,我的功能看起來是這樣的:

play() { 
    (
     cd ~/Music/mp3 && 
     do-sth $1 && 
     open -a itunes $1 
    ) 
} 

,我希望能夠做這樣的事情:

$ ls ~/Music/mp3 
Slayer 
$ cd ~ 
$ play S<tab> # expands to "Slayer" 

回答

1

我有一個將目錄切換到我的代碼項目的類似解決方案。 像這樣的東西可能會爲你做的伎倆:

play() { open -a itunes ~/Music/mp3/[email protected]; } 
compctl -/ -W ~/Music/mp3 play 
相關問題