在 vim 中,我们有:substitute
搜索文本模式并用文本字符串替换它的命令。
如何处理带有标点符号的文本模式?
最小工作示例:文本模式$S(\R^2)$
必须用文本字符串替换$\Sm$
。
编辑:我们如何解释文本模式可以位于另一个文本模式内的事实?
答案1
看起来这是字符转义的问题。例如,
:s/\$S(\\R^2)\$/$\\Sm$/
S(\N^2)
将用替换第一次出现的\Sm
。\\
正在转义\
(就像你\*
想要表示特点 *
)。例如,没有它,字符串\r
将表示回车符。您不必$
在第二部分:s
(不知道它的技术术语)中转义 的原因是它没有任何特殊含义,而在第一部分中它表示行尾。
仅当您想要捕获时才需要在括号中添加反斜杠。