Vim 7.4 发布,带来了更快的正则表达式引擎及 1000 多项修复和小改进

  • Roopesh Shenoy
  • 马德奎

2013 年 8 月 19 日

话题:语言 & 开发

经过一个多月的测试后,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)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发