Vim 交换正则表达式匹配

Vim 交换正则表达式匹配,vim,Vim,如何交换匹配项并替换,如下图所示? //每行包含5个s///g,如下所示,其中只有2个s///g :silent! %s/ó/ó/g | :silent! %s/ú/ú/g 到 在Vim中:试试这个(使用+作为分隔符)。请注意,这不会处理字符的特殊含义 :s+silent! %s/\zs\(\%([^\\/]\|\\.\)*\)/\(\%([^\\/]\|\\.\)*\)\ze/g+\2/\1+g 使用verymagic选项(\v): 在Vim中:

如何交换匹配项并替换,如下图所示?
//每行包含5个s///g,如下所示,其中只有2个s///g

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

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

:s+silent! %s/\zs\(\%([^\\/]\|\\.\)*\)/\(\%([^\\/]\|\\.\)*\)\ze/g+\2/\1+g
使用verymagic选项(
\v
):

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

:s+silent! %s/\zs\(\%([^\\/]\|\\.\)*\)/\(\%([^\\/]\|\\.\)*\)\ze/g+\2/\1+g
使用verymagic选项(
\v
):


我想更改分隔符并使用非常神奇的方法,以便更容易查看
:h\v
,或者按照此操作。@user107745:这是一个选项。我正在扩展答案。我想更改分隔符并使用非常神奇的方法,以便更容易查看
:h\v
,或者按照此操作。@user107745:这是一个选项。我正在扩展答案。
:s@\vsilent! \%s/\zs(%([^\\/]|\\.)*)/(%([^\\/]|\\.)*)\ze/g@\2/\1@g