为什么zsh补全适用于VBoxManage而不适用于VBboxManage



我在arch-linux上安装了zsh补全。VBoxManage命令的完成似乎很好,但vboxmanage不行(即,只完成本地目录中的文件)。VBoxManagevboxmanage都是指向VBox可执行文件的符号链接。

我的虚拟框完成定义似乎有的第一行

#compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless

看起来像某种别名?但它不起作用。

我有一个解决方案,就是将上面的行改为

#compdef VBoxManage=vboxmanage vboxmanage=vboxmanage VBoxHeadless=vboxheadless vboxheadless=vboxheadless

这似乎很冗长,有一个指定模式的选项,但像这样别名命令的正确方法是什么?

compdef _VBoxManage vboxmanage
compdef _VBoxHeadless vboxheadless

~/.zshrc中,指定命令的完成函数是正确的方法。出于明显的原因,不建议编辑源代码中的实际函数。

相关内容

最新更新