我需要在字符串中的每个字符前添加一个反斜杠 \,不包括任何前导空格。我相信下面的方法可以解决问题。
:s/^\s*\(.\)\+/\\\1/g
但它会产生以下结果
abcde
\e
即,它仅显示最后一个替换,而不是每个替换。
Vim 提供了 2 个正则表达式引擎,您可以通过在搜索字符串前面添加 '\%#=1' 或 '\%#=2' 来显式访问它们。两者都会产生相同的结果。
有人可以解释一下我在这里做错了什么吗?
答案1
您的正则表达式捕获完整的输入字符串,abcde
捕获“e”并将其替换为\e
。
你可能想要更多类似的东西::s/\S/\\&/g