如何覆盖现有的 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 zshcompsys
和man zshcompwid
(和man zshcompctl
)。
yast2
的补全函数可能在这个文件(或类似路径)中:
/usr/share/zsh/functions/Completion/Linux/_yast
【讨论】:
漂亮,非常感谢!我还没有完全修复它(很快就会修复),但你的答案似乎很明显(/usr/share/zsh/4.3.6/functions/_yast2 对我来说)。 太好了,花了一些时间研究如何做到这一点。覆盖默认值会很好(Q:***.com/questions/17968024/…)以上是关于如何覆盖现有的 zsh 键盘补全?的主要内容,如果未能解决你的问题,请参考以下文章