我将 zsh 与“新”完成系统 ( compinit
) 一起使用。有时我想将完成限制为可能的子集,以减少歧义。这是用户选择,而不是配置设置:我想按不同的键而不是Tab获得一组不同的完成。我不想为该命令配置不同的完成。Tab应该仍然做正常的事情。
在某些情况下,有一些解决方法。例如,我有一个绑定到 的键_bash_complete-word
,它在大多数情况下完成文件。但有时我想要一个不太常见的焦点。例如:
- 之后只填写主机名
scp
,而不是本地文件名。 - 之后只完成远程名称
git checkout
,而不是分支名称。
如何绑定将在 之后完成远程名称git checkout
但不是分支名称的密钥?更一般地说,我如何绑定一个键来完成与当前上下文中通常完成的不同的事情?