2011-05-31 55 views
1

如何交換匹配並替換如下所示?
//每一行包含5秒///克,只有2秒///克交換正則表達式匹配

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

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

回答

1

在Vim中如下所示:嘗試此(使用+作爲分隔符)。請注意,這不會處理字符的特殊含義。

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

隨着verymagic選項(\v):

:[email protected]\vsilent! \%s/\zs(%([^\\/]|\\.)*)/(%([^\\/]|\\.)*)\ze/[email protected]\2/\[email protected] 
+0

我想改變分隔符,使用非常神奇的,因此變得更容易看到':H \ v'或遵循此[鏈接](HTTP ://vimdoc.sourceforge.net/htmldoc/pattern.html)。 – SergioAraujo 2011-05-31 11:41:58

+0

@ user107745:這是一個選項。我正在擴大答案。 – Benoit 2011-05-31 12:10:24