这是我正在尝试做的事情:
%s/Article/<h2>Article</h2>/gi
不幸的是,每次我通过我的vim编辑器执行这个命令时,它都会说:
尾随的字符
为了缓解上述情况,我执行了以下操作:
%s/\s*\r*$//
并且它成功执行,但是当我回到原来的search和replace命令时,它再次读取“尾随字符”,不执行search和replace操作。
我在这里做错了什么?
“尾随字符”在你的命令,而不是你的文件。
Vim认为你在Article</
完成了命令,然后把h2>/gi
作为替代命令的第三个参数。 但是这些字符对于第三个参数并不全是有效的,所以它给了你错误。
为了解决这个问题,你需要在你的替身中逃避/
角色。
%s/Article/<h2>Article<\/h2>/gi
此外,如果您经常需要在正则表达式(XML / HTML / UNIX文件路径)中使用文字正斜杠,并且不想担心每个实例都要转义,则可以使用不同的分隔符。 例如,使用! 代替 /:
%s!Article!<h2>Article</h2>!gi
我很懒,这通常比手动转义斜杠更容易。