在VIM查找/search中,如何避免反斜杠和正斜杠?

例如,如果我想用一个包含向后或向前斜杠的string来查找和replace,那么vim中的这个如何实现呢? 谢谢!

示例查找和replace为:: :%s/foo/bar/g

如果我想查找<dog/>所有匹配项并将其replace为<cat\>该怎么办?

在linuxy程序中,大部分其他地方的字符都是用同样的方式反斜杠:

 :%s/<dog\/>/<cat\\> 

但是请注意,您可以select不同的分隔符:

 :%s@<doc/>@<cat\\>@ 

这样可以节省你所有用斜杠敲击模式的所有耗费时间的混淆反斜杠。

从文档:

您可以使用任何其他单字节字符,而不是字母数字字符'\','''或'|'来代替围绕模式和replacestring的“/”,如果要包含search模式或replacestring中的“/”。

 %s:<dog/>:<cat> 

你可以replace/分隔符,如果他们变得恼人的某些模式。

引用他们的反斜杠。 此外,除了斜线之外,还可以使用另一个分隔符。

  :%s#<dog/>#<cat\\># 

或者如果必须使用斜线作为替代命令分隔符

  :%s/<dog\/>/<cat\\>/ 

语法是:

 :%s/<dog\/>/<cat\\>/g 

我正在寻找类似的东西,来search包含/字符(loggingmacros)的寄存器值。 解决scheme是使用? 令牌而不是/

反斜线斜杠反斜杠星号

 /(<- the prompt)\/\* 

所以你input后看起来像

 /\/\*