经过一个多月的测试后, Vim 7.4 于近日发布。该版本更健壮,并且带来了一个更快的新正则表达式引擎。
在 Vim 用户最想要的功能列表中,“修复大大小小的所有问题;使 Vim 更健壮”是第六最受欢迎的选项。Vim 团队似乎已经重视起这一问题,自上个版本 7.3 于 2010 年 8 月发布以来,已经有超过 1000 项修复和小改进。
不仅如此,新正则表达式引擎具有更好的性能:
现在所谓的“老”正则表达式引擎使用一种回溯算法。该算法尝试沿着一条路径对文本进行模式匹配,当匹配失败时会返回并尝试另一条路径。对于简单模式,该算法可以工作得很好,但是对于长文本的复杂模式匹配,它会非常慢。
新引擎使用了状态机。它针对当前字符尝试所有可能的候选项,并保存可能与模式匹配的状态。对于简单模式,该算法慢一点,但是对于复杂模式和长文本,它却要快得多。
该版本还提供了一个更好的 Python 接口,其中包含 python-bindeval(vim.bindeval 取代了内建的 eval)函数和 python-tabpage 对象(为使用 Tab 页提供了可能)。
要获得自 Vim 7.3 以来的所有变更列表,读者可以查看这些自述文件(第二个自述文件是Vim 7.4 开始测试以来的修复),或者安装新版本的Vim 并输入命令“:help version7.4”。
查看英文原文: Vim Gets Faster Regex Engine, 1000+ Fixes And Small Improvements
感谢马国耀对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论