我在我的项目中广泛使用 binstubs。因此每个项目都有一个包含命令的 bin/ 文件夹。我已将其添加./bin
到我的 中$PATH
,以便我可以轻松调用它们(我总是从项目的根目录调用命令,无需找出项目根目录)。一切正常。
但是,zsh 不会根据我当前的设置自动完成命令。我如何让 zsh 自动完成命令./bin
?显然,只有当我在项目根目录中时,命令才应该自动完成。当我切换到另一个目录时,它们不应该再自动完成。
答案1
将其添加到您的~/.zshrc
文件中:
autoload -Uz compinit && compinit
bindkey '^I' complete-word
zstyle -e ':completion:*' command-path 'reply=( "$PWD/bin" "$path[@]" )'
国旗-e
告诉我们zstyle
每次完成系统请求给eval
定的字符串时command-path
。