zsh - 在 <tab> 上完全展开二进制路径

Ali*_*Ali 10 zsh path autocomplete

在我当前的 zsh 行为中,在键入“sudo”后点击 Tab 只会添加一个空格。

$ sudo ...
Run Code Online (Sandbox Code Playgroud)

我真正想要的是当我点击选项卡时,选项卡完全扩展到它即将执行的二进制文件的路径,让我看到将运行的内容:

$ /usr/bin/sudo ...
Run Code Online (Sandbox Code Playgroud)

目的是防止我的机器上的本地用户被黑客入侵,一个条目添加到我的$PATH变量中,并且“sudo”运行恶意程序,这将很容易升级到 root。

Mis*_*iev 7

使用bindkey内置命令将密钥绑定到 Zsh 命令,如下所示:

bindkey "^I" expand-cmd-path 
Run Code Online (Sandbox Code Playgroud)

"^I"标签在哪里。您可以将此行放入您的~/.zshrc文件中。警告:它会破坏参数的自动完成。