2

目前,在 C 模式下,如果我开始输入一个单词,例如:

namespace_module_

dabbrev-expand 将循环通过此标识符的一百万个完整完成...

namespace_module_typea_foo <TAB>
namespace_module_typea_bar <TAB>
namespace_module_typea_goo_start <TAB>
...

有许多可能的词,浏览所有这些词很乏味。然而,小缓冲区完成似乎有不同的工作方式。它仅在可能的匹配项之间出现第一个差异之前完成。它将完成(假设没有其他匹配类型,如 typeb_ 等):

namespace_module_typea_

此时,我只需要键入一个字符即可消除歧义,并且很有可能自动完成的下一个猜测是正确的。dabbrev-expand 是否可以在缓冲区中使用这种完成模式?还是嬉皮士扩张?甚至是冰柱?我什么也没找到。

4

2 回答 2

1

您是否尝试过(默认dabbrev-completion绑定)?C-M-/它应该做你所要求的。

于 2014-01-09T16:25:43.547 回答
0

是的,icicle-dabbrev-completion默认情况下绑定到C-M-/(替换dabbrev-completion)为您提供给您的东西dabbrev-completion,但只要有多个完成,就会使用Icicles完成功能。IOW,您可以使用子字符串、正则表达式等进行匹配;您可以使用渐进式完成;您可以对候选人进行排序和循环;等等。

在此处查看有关此内容的文档。

于 2014-01-09T17:30:32.403 回答