zsh:自动完成相对路径

iGE*_*GEL 7 linux zsh command-line autocomplete

我在我的项目中广泛使用 binstubs。所以每个项目都有一个带有命令的 bin/ 文件夹。我已经添加./bin到我的$PATH,所以我可以很容易地调用它们(我总是从项目的根目录调用命令,不需要弄清楚项目的根目录)。这一切正常。

但是,zsh 不会使用我当前的设置自动完成命令。如何让 zsh 自动完成命令./bin?显然,当我在项目根目录中时,这些命令应该只自动完成。当我更改到另一个目录时,它们不应再自动完成。

Mar*_*ert 3

将其添加到您的~/.zshrc文件中:

autoload -Uz compinit && compinit
bindkey '^I' complete-word
zstyle -e ':completion:*' command-path 'reply=( "$PWD/bin" "$path[@]" )'
Run Code Online (Sandbox Code Playgroud)

每次完成系统请求 的值时,该-e标志都会告诉zstyle给定的字符串。evalcommand-path