基于目录的 ZSH 补全

nic*_*iel 1 zsh zshrc oh-my-zsh

我在 ZSH 中设置了一个功能,可以快速导航到我的 ~/Sites 目录中的文件夹。

site() { cd ~/Sites/"$1"/website/; }
Run Code Online (Sandbox Code Playgroud)

因此,如果我输入site clientsite它将 cd 到 ~/Sites/ clientsite /website/,这里没有发生太复杂的事情。

我想知道如何根据我内部的文件夹自动完成此操作~/Sites/

因此,当我输入时,site cli[HIT TAB]它会自动完成为site clientsite.

小智 5

除了这两行之外,您还有:

alias sites='cd ~/Sites'
site() { cd ~/Sites/"$1"/website/; }
Run Code Online (Sandbox Code Playgroud)

添加这两行:

_site() { _files -W ~/Sites; }
compdef _site site
Run Code Online (Sandbox Code Playgroud)

这应该会给你你正在寻找的选项卡完成。