Emacs单词重新排序完成风格

4
我发现Emacs已经拥有了独特的完成系统(completion-stylescompletion-styles-alist),但仍缺少一个关键部分,即像谷歌搜索一样的单词子单词重排
例如,如果没有其他样式找到匹配项,file-write应该自动补全为write-file。可以使用正则表达式"\\s_"来匹配单词间的字符。
更酷、更通用的方法是将Damerau-Levenshtein距离D)应用到单词而不是字母上。然后根据递增的距离D对自动补全候选项进行排序,意味着最接近的匹配项排在前面。
我很清楚如何实现这个功能,并且D的实现已经存在。但我还是想问一下:
是否已经有人实现了这样的自动补全样式?

1
你可能还想在emacs-devel上询问,因为那些人最了解emacs,所以他们很可能知道它是否已经实现。 - Tom
1
我认为Slime(Common Lisp开发系统)具有类似于这样的完成风格。 - Burton Samograd
1个回答

1

关于编程 --

你不能仅使用原版的Emacs实现你想要的功能(好吧,你可以使用 Lisp 编写任何你需要的代码--但是你不能直接得到你想要的功能)。

Icicles 可以为您提供所需的完美功能。它被称为“递进式完成”,其思路类似于使用一系列 grep 命令的流水线。

您还可以使用 LevenShtein 匹配完成,结合递进式完成以匹配任意顺序的单词。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接