【问题标题】:In emacs, make dabbrev-expand only do partial completions like minibuffer-expand?在 emacs 中,让 dabbrev-expand 只做部分完成,如 minibuffer-expand?
【发布时间】:2014-01-28 05:51:06
【问题描述】:

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

namespace_module_

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

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

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

namespace_module_typea_

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

【问题讨论】:

    标签: emacs autocomplete icicles


    【解决方案1】:

    你试过dabbrev-completion(默认绑定到C-M-/)吗?它应该满足您的要求。

    【讨论】:

    • 我相信默认绑定其实是C-M-/
    • 呃,确实,感谢您的警惕,我相应地修正了我的答案。
    【解决方案2】:

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

    请参阅文档,here

    【讨论】:

      猜你喜欢
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      相关资源
      最近更新 更多