zsh completion:使用特定目录中的路径,而不是当前路径

时间:2011-11-07 15:51:52

标签: zsh zsh-completion

我有一个自定义函数,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 个答案:

答案 0 :(得分:1)

我有一个类似的解决方案,用于将目录切换到我的代码项目。 这样的事情可能会对你有所帮助:

play() { open -a itunes ~/Music/mp3/$@; }
compctl -/ -W ~/Music/mp3 play