在zsh自动完成中隐藏某些选项

在zsh自动完成中隐藏某些选项,zsh,tab-completion,Zsh,Tab Completion,有几个命令有我不常使用的深奥选项。例如,git有“check attr”。但是,我经常使用“git checkout”,所以我想, 吉特 完成 git签出 或者显示一个菜单,但不选中属性。我可以用zstyle做这个。。。忽略模式 但是,如果没有其他匹配项,我仍然希望完成“git check attr”(如果我确实想运行check attr) “隐藏”zstyle似乎适合我,但如何在完成上下文中指定值(而不仅仅是标记)?也就是说,我想要, zstyle':完成:::git::“隐藏模式”检查属性

有几个命令有我不常使用的深奥选项。例如,git有“check attr”。但是,我经常使用“git checkout”,所以我想, 吉特 完成 git签出 或者显示一个菜单,但不选中属性。我可以用zstyle做这个。。。忽略模式

但是,如果没有其他匹配项,我仍然希望完成“git check attr”(如果我确实想运行check attr)

“隐藏”zstyle似乎适合我,但如何在完成上下文中指定值(而不仅仅是标记)?也就是说,我想要, zstyle':完成:::git::“隐藏模式”检查属性


这有可能吗?

像这样的事情应该可以做到:

zstyle ':completion::complete:*:git:*' ignored-patterns check-attr

我真的不知道这是怎么回事,但结果是
git-check
导致
git-checkout
。将此添加到您的
.zshrc

zstyle ':completion::complete:git:*:*' ignored-patterns 'check*-*'

请参阅以获取一些信息,如果您可以将其定义为..

不完全是您想要的,但是您显然可以将
git ch
作为
git checkout
的别名,如果您只想使用
git checkout
,而不必使用
git check attr
消除歧义,这将非常有用。