Autocomplete Zsh内引号补全

Autocomplete Zsh内引号补全,autocomplete,zsh,Autocomplete,Zsh,以下是我的完成函数: f() { reply=('ok') } compctl -K f c 那我会的 c 标签 有些东西起作用了。然后我在b c ok "a b" 什么也没发生。我希望ab被ok替换(就像在bash中一样) 我怎样才能做到呢 我真的需要做引号内的补全。我的程序的典型启动方式如下:c'a,&b,c[d]'a

以下是我的完成函数:

f()
{    
    reply=('ok')
}
compctl -K f c
那我会的

c
标签

有些东西起作用了。然后我在
b

c ok "a b"
什么也没发生。我希望
ab
ok
替换(就像在bash中一样)

我怎样才能做到呢


我真的需要做引号内的补全。我的程序的典型启动方式如下:
c'a,&b,c[d]'a<1和b==“2013”

这与引号的使用无关。在第二种情况下,zsh不提供
ok
作为补全,因为它与为该参数输入的值不太接近。在
ca
之后也不会提供完成

zsh通常假定要完成的内容与已经输入的内容有一定的关联,从而使完成函数的作者无需检查匹配项。您可以将
-U
选项添加到compctl命令中,告诉它应该使用整个
$reply
列表,即使是不匹配的条目


我还应该注意到compctl属于旧的zsh完成系统。新的完成系统在

中有描述,非常感谢!我没有设法完成新样式的完成文档。对我来说太复杂了
c ok "a b"