有人可以解释一下,ido-enable-flex-matching
与普通ido
相比做了什么?
除了缓冲区之外,还可以在处理文件时使用flex匹配吗? (这是否需要任何其他设置?)
答案 0 :(得分:3)
没有查看代码,我可以猜测,因为效果是相同的,它以Icicles的方式完成:在输入中的每个字符后添加.*
,除了最后一个,并使用string-match
将结果正则表达式与候选人匹配。
例如:输入:abc
。处理为正则表达式:a.*b.*c
。或类似的。所做的只是将输入中的每个字符与候选字符匹配,但也允许在输入的连续字符之间可能存在其他候选字符。这是一种穷人的“模糊”匹配。 More info,包括与其他模糊匹配方法的比较。
答案 1 :(得分:0)
来自Flexible Matching上的Emacs手册条目:
灵活匹配意味着任何只包含所有项目的项目 指定序列中输入的字符将匹配。
例如,如果您有四个文件alpha,beta,gamma和delta, 输入'aa'将匹配alpha和gamma,而'ea'匹配beta和 三角洲。如果前缀匹配也是活动的,'aa'只匹配alpha, 而'ea'与任何文件都不匹配。
处理文件和缓冲区时可以使用Flex匹配。如果您在.emacs文件中添加(setq ido-enable-flex-matching t)
和(setq ido-everywhere t)
,那么您应该选择文件和缓冲区。要在比这更多的地方使用ido,请查看ido-ubiquitous包。