我有一个单词列表:
bau ceu diu fou gau
我想把这个列表变成:
byau cyeu dyiu fyou gyau
我没有成功尝试命令:
:%s/(\w)(\w\w)/\1y\2/g
鉴于这不起作用,我必须改变什么才能使正则表达式捕获组在 Vim 中工作?
解决此问题的一种方法是确保模式被 转义 括号括起来:
:%s/\(\w\)\(\w\w\)/\1y\2/g
稍微短一些(而且更 神奇 的 -al)是使用\v,这意味着在它之后的所有 ASCII 字符除了'0'-'9',和'a'-'z'之外都有特殊含义:'A'-'Z'``'_'
\v
'0'-'9'
'a'-'z'
'A'-'Z'``'_'
:%s/\v(\w)(\w\w)/\1y\2/g
:help \(
:help \v