例如,如果我想查找并替换包含向后或正斜杠的字符串,那么在vim中如何实现?谢谢!
实例
找到&替换为::%s/foo/bar/g
如果我想查找所有<dog/>
并将其替换为<cat\>
答案 0 :(得分:127)
使用反斜杠:
,你可以在linuxy程序中的其他任何地方转义字符:%s/<dog\/>/<cat\\>
但请注意,您可以选择不同的分隔符:
:%s@<doc/>@<cat\\>@
这样可以省去所有那些耗时的,混乱的反斜杠模式中的大量斜杠。
而不是围绕模式和替换字符串的
/
可以使用任何其他单字节字符,但不能使用字母数字字符,\
,"
或|
。如果要在搜索中包含/
,这非常有用 模式或替换字符串。
答案 1 :(得分:21)
%s:<dog/>:<cat>
如果/ delimiters对某些模式感到烦恼,你可以替换它们。
答案 2 :(得分:8)
用反斜杠引用它们。此外,除了斜杠之外,使用另一个分隔符通常也有帮助。
:%s#<dog/>#<cat\\>#
或者如果必须使用斜杠作为替换命令分隔符
:%s/<dog\/>/<cat\\>/
答案 3 :(得分:3)
语法为:
:%s/<dog\/>/<cat\\>/g
答案 4 :(得分:1)
我正在寻找类似的东西,搜索包含/
字符的寄存器值(以记录宏)。解决方案是使用?
令牌而不是/
进行搜索。
答案 5 :(得分:-1)
反斜杠斜杠反斜杠明星
/(<- the prompt)\/\*
所以输入后就像
/\/\*