交换正则表达式匹配

时间:2011-05-31 06:49:39

标签: vim

如何更换匹配并替换如下所示?
//每行包含5 s /// g,如下所示,只有2 s /// g

:silent! %s/ó/ó/g | :silent! %s/ú/ú/g

:silent! %s/ó/ó/g | :silent! %s/ú/ú/g

1 个答案:

答案 0 :(得分:1)

在Vim中:尝试这个(使用+作为分隔符)。请注意,这不会处理字符的特殊含义。

:s+silent! %s/\zs\(\%([^\\/]\|\\.\)*\)/\(\%([^\\/]\|\\.\)*\)\ze/g+\2/\1+g

使用themagic选项(\v):

:s@\vsilent! \%s/\zs(%([^\\/]|\\.)*)/(%([^\\/]|\\.)*)\ze/g@\2/\1@g