如何覆盖现有的 zsh 键盘补全?

Posted

技术标签:

【中文标题】如何覆盖现有的 zsh 键盘补全?【英文标题】:How does one override an existing zsh keyboard completion? 【发布时间】:2009-10-28 08:49:48 【问题描述】:

我想启用 zsh 来自动完成 yast2(一个 OpenSuSE 控制面板)的模块,但它似乎已经定义了一些东西。我可以跑

compctl -k "(hello world)" nonexistantprogram

很好,但是

compctl -k "(hello world)" yast2

根本不起作用。 yast2 的某些内容似乎已经定义,即“-”选项:--fullscreen、--geometry、--list [子模块] 等。

即使对于那些不使用 OpenSuSE 的人:是否有任何标志可以让 compctl 覆盖以前的设置?提前非常感谢。

【问题讨论】:

【参考方案1】:

很可能,您的系统使用的是较新的 compsys 系统,而不是较旧的 compctl 系统。见man zshcompsysman zshcompwid(和man zshcompctl)。

yast2 的补全函数可能在这个文件(或类似路径)中:

/usr/share/zsh/functions/Completion/Linux/_yast

【讨论】:

漂亮,非常感谢!我还没有完全修复它(很快就会修复),但你的答案似乎很明显(/usr/share/zsh/4.3.6/functions/_yast2 对我来说)。 太好了,花了一些时间研究如何做到这一点。覆盖默认值会很好(Q:***.com/questions/17968024/…)

以上是关于如何覆盖现有的 zsh 键盘补全?的主要内容,如果未能解决你的问题,请参考以下文章

如何快速将完成按钮添加到数字键盘?

使用 zsh 后HOME/END 键以及小键盘失效

弹出软键盘时,adMob 横幅会覆盖文本视图

vscode自动补全快捷键怎么设置

Google Inbox 如何显示覆盖键盘的小吃栏?

显示键盘时如何隐藏cupertinoTabBar?或者如何让键盘覆盖酒吧?还是将标签栏始终保持在底部?