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