2009-10-28 56 views
2

我想启用zsh自动完成yast2(一个OpenSuSE控制面板)模块,但它似乎已经定义了一些东西。我可以运行如何覆盖现有的zsh键盘完成?

compctl -k "(hello world)" nonexistantprogram 

就好了,但

compctl -k "(hello world)" yast2 

不会在所有的工作。 yast2的一些东西似乎已经被定义,即“ - ”选项: - 全屏, - 几何, - 列表[submodules]等。

即使对于那些不使用OpenSuSE的人:是否有任何标志compctl,使其覆盖以前的设置?首先十分感谢。

回答

2

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

yast2完成功能可能是在这个文件(或类似路径):

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

漂亮,谢谢了!我还没有修复它(很快会这样做),但你的答案似乎很明显(我/usr/share/zsh/4.3.6/functions/_yast2)。 – gatoatigrado 2009-10-28 18:47:28

+0

太棒了,花了一些时间寻找如何去做。这将是很好的覆盖默认值(问:http://stackoverflow.com/questions/17968024/zsh-disable-default-completion-for-make) – 2013-07-31 10:44:16