在emacs中,make dabbrev-expand只做部分完成,如minibuffer-expand?

时间:2014-01-09 15:25:32

标签: emacs autocomplete icicles

目前,在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中使用此完成模式in-buffer?还是嬉皮士?甚至是冰柱?我找不到任何东西。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

请参阅相关文档,here