例如,如果我想查找并替换包含向后或正斜杠的字符串,那么在vim中如何实现呢?谢谢!
示例查找和替换是: :%s/foo/bar/g
如果我想找到所有出现的<dog/>
并用它替换它会怎么样?<cat\>
Cas*_*bel 137
使用反斜杠在linuxy程序中以其他任何地方转义字符的方式相同:
:%s/<dog\/>/<cat\\>
Run Code Online (Sandbox Code Playgroud)
但请注意,您可以选择不同的分隔符:
:%s@<doc/>@<cat\\>@
Run Code Online (Sandbox Code Playgroud)
这样可以省去所有那些耗费大量时间的错误,在大量斜线的模式中混淆反斜杠.
从文档:
取而代之的
/
包围模式和替代字符串,可以使用任何其他的单字节字符,而不是一个字母数字字符,\
,"
或|
.如果要/
在搜索模式或替换字符串中包含a ,这非常有用.
Sar*_*rah 21
%s:<dog/>:<cat>
Run Code Online (Sandbox Code Playgroud)
如果它们对某些模式感到烦恼,您可以替换/分隔符.
用反斜杠引用它们.此外,除了斜线之外,使用另一个分隔符通常也有帮助.
:%s#<dog/>#<cat\\>#
Run Code Online (Sandbox Code Playgroud)
或者如果必须使用斜杠作为替换命令分隔符
:%s/<dog\/>/<cat\\>/
Run Code Online (Sandbox Code Playgroud)