在vim内,我想替换所有的
``` {.foo}with
```javascriptfoo可以是任何东西。
:0,$ s/``` {\.([^}]+)}/```\1/做不到这一点。它会导致
E486: Pattern not found: ``` {\.([^}]+)} 错误。我能用什么药?
发布于 2015-05-12 13:56:12
如果要捕获组,则需要转义(和) (否则,它只是表示开始/结束括号)。如果您希望+的意思是一个或多个,也需要转义它。
您还需要在末尾添加g标志以表示全局替换(在一行中出现的所有事件,而不仅仅是第一个),除非gdefault是打开的(在这种情况下,g实际上删除了全局标志)。您也可以使用:%s来表示:0,$s。
因此:
:%s/``` {\.\([^}]\+\)}/```\1/ghttps://stackoverflow.com/questions/30192720
复制相似问题