2009-10-27 322 views
26

替換括號在Vim中我有:我怎樣才能在vim

simulación (fig.),pretexto (fig.),excusa (fig.). 

我的目標是:

simulación ,pretexto ,excusa . 

我曾嘗試用::%s/\(fig\.\)//g,但它不工作。

+1

你的命令看起來不錯。運行命令時,VIM是否顯示錯誤? – Marcin 2009-10-27 15:35:38

+0

它也適用於我 – ennuikiller 2009-10-27 15:37:02

+1

我看到當你第一次提交問題時,SO解析器隱藏了斜槓,難怪我們感到困惑。 – Marcin 2009-10-27 15:52:51

回答

43

默認情況下,Vim不需要轉義括號。嘗試:

:%s/(fig\.)//g 

參見:

:help magic 

編輯點的

添加反斜槓。

+1

是不是Vim使用轉義括號之間的內容作爲一個組,然後把它扔掉?這是一個重要的區別。 – 2009-10-27 15:40:18

+1

@Adriano:確實,這不是@Jogusa想要的。 – DrAl 2009-10-27 15:42:54

+0

非常感謝,它的工作原理:-) 謝謝你的第二個提示。 – Jogusa 2009-10-27 15:44:46

3

在Vim 7.2(WinXP)上,您使用的命令僅刪除'fig。',但不包含括號。 使用%s/(fig\.)//g給出了預期的結果。

編輯逃脫點,因爲它匹配任何字符,而不僅僅是一個點。

6

不要逃離parens - 默認情況下,vim使用「魔法」轉義方案。 嘗試:

:%s/(fig\.)//g 

更多信息:http://vimdoc.sourceforge.net/htmldoc/pattern.html#/符\ v

+2

如果你不逃離這個點,這也會匹配(figx)(參見我和阿德里亞諾的編輯:我們都是這麼做的!)。 – DrAl 2009-10-27 16:53:34