sw1*_*1nn 5 zsh zsh-completion
我在arch linux上安装了zsh-completions.VBoxManage命令的完成似乎工作正常,但vboxmanage没有(即只是简单完成本地目录中的文件).这两个VBoxManage和vboxmanage是符号链接到VBox可执行文件.
我的_virtualbox完成定义似乎有第一行
#compdef VBoxManage=vboxmanage VBoxHeadless=vboxheadless
Run Code Online (Sandbox Code Playgroud)
看起来像某种别名?但它不起作用.
我有一个修复方法是将上面的行更改为
#compdef VBoxManage=vboxmanage vboxmanage=vboxmanage VBoxHeadless=vboxheadless vboxheadless=vboxheadless
Run Code Online (Sandbox Code Playgroud)
这看起来很啰嗦,有一个指定模式的选项,但是这样命名别名的正确方法是什么?
compdef _VBoxManage vboxmanage
compdef _VBoxHeadless vboxheadless
Run Code Online (Sandbox Code Playgroud)
在您的中~/.zshrc是指定命令的完成函数的正确方法。出于显而易见的原因,不建议在源代码中编辑实际函数。