![zsh 自动完成 PATH 中的新可执行文件](https://linux22.com/image/1496927/zsh%20%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%20PATH%20%E4%B8%AD%E7%9A%84%E6%96%B0%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6.png)
将新的可执行文件复制到 PATH 后,该命令的 bash 自动完成功能可以顺利启动,但 zsh 需要重新启动。
如何在不重启 shell 的情况下让 zsh 自动补全功能将其拾取?它可以自动拾取吗?
答案1
我如何推动 zsh 自动完成来选择它
使用rehash
:
rehash
重新计算路径环境变量中列出的目录内容的内部哈希表,以解释新添加的命令。
持续重复
通常,compinit 不会自动在 中找到新的可执行文件
$PATH
。例如,安装新包后, 中的文件/usr/bin
不会立即或自动包含在完成中。因此,要包含这些新的可执行文件,可以运行:$ rehash
可以将此“rehash”设置为自动发生。只需在您的 zshrc 中包含以下内容:
~/.zshrc zstyle ':completion:*' rehash true