Par*_*lia 30 linux vi vim command-line-arguments
这就是我试图做的事情:
%s/Article/<h2>Article</h2>/gi
Run Code Online (Sandbox Code Playgroud)
不幸的是,每次我通过我的vim编辑器执行此命令时,它都说:
尾随字符
为了缓解上述情况,我执行了以下操作:
%s/\s*\r*$//
Run Code Online (Sandbox Code Playgroud)
并且它成功执行,但当我返回原始搜索和替换命令时,它再次显示"尾随字符"并且不执行搜索和替换操作.
我在这做错了什么?
Mer*_*ham 41
"尾随字符"在您的命令中,而不是您的文档.
Vim认为你完成了命令Article</,然后将其h2>/gi视为substitute命令的第三个参数.但是这些字符对于第三个参数都不是全部有效,所以它会给你错误.
要解决此问题,您需要转义/替换中的角色.
%s/Article/<h2>Article<\/h2>/gi
Run Code Online (Sandbox Code Playgroud)
小智 29
此外,如果您经常需要在正则表达式(XML/HTML/UNIX文件路径)中使用文字正斜杠,并且不想担心转义每个实例,则可以使用不同的分隔符.例如,使用!代替 /:
%s!Article!<h2>Article</h2>!gi
我很懒,这通常比手动转义斜线更容易.
| 归档时间: |
|
| 查看次数: |
38554 次 |
| 最近记录: |