了解vim中反向引用的行为

时间:2016-12-24 07:48:45

标签: regex vim vi substitution

我有一个包含这个词的文件:

  

执行此命令时:

:s/\(\w\)\+/#\1#/

我得到##但据我所知\w匹配一个角色。为什么我没有在反向引用它?

现在有了这个命令

:s/\(\w\)\{1,}/#\1#/我得到#d#。为什么它是最后一个角色而不是第一个?

VIM - Vi IMproved 7.4 Ubuntu 16.04 LTS

1 个答案:

答案 0 :(得分:1)

我可以使用Vim 7.4.1689(随Ubuntu 16.04 LTS一起提供)重现这一点,但不再使用Vim 8.0.55。 :set re=1(即切换回旧的正则表达式引擎)也解决了这个问题。所以,它似乎是新的正则表达式引擎中的一个错误,在此期间已被修复。