为什么zsh完成适用于VBoxManage但不适用于vboxmanage?

时间:2014-04-17 10:35:40

标签: zsh zsh-completion

我在arch linux上安装了zsh-completions。完成VBoxManage命令似乎工作正常,但vboxmanage没有(即只是简单地完成本地目录中的文件)。 VBoxManagevboxmanage都是VBox可执行文件的符号链接。

我的_virtualbox完成定义似乎有第一行

#compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless

看起来像某种别名?但它没有用。

我有一个修复方法,即将上面一行更改为

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

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

1 个答案:

答案 0 :(得分:0)

compdef _VBoxManage vboxmanage
compdef _VBoxHeadless vboxheadless

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