你如何在vim中找到并替换花括号{}?

时间:2012-06-27 16:35:44

标签: vim replace

我尝试了:s%/{//g:s%/\{//g。如何在vim中找到并替换(删除,实际上)大括号?

感谢。

编辑:我的意思是在s之前有%,所以我可能只是在输入错误。感谢大家的快速回复。

3 个答案:

答案 0 :(得分:11)

@chaos的扩展

{字符(即:左括号,不要与括号[混淆,或括号())...不需要转义。

你可能意味着删除所有大括号。百分号应该在's'之前,而不是之后。这意味着要对所有范围执行搜索。

所以,就这样做:

:%s/{//g
:%s/}//g

全部完成!

您应该考虑阅读VIM范围。例如,要在当前行上进行替换以及最多10行,您可以执行以下操作:

:.,.+10s/}//g

答案 1 :(得分:5)

:s/{//g运行正常。为什么你要在%之后放置s?通过这样做,您将%指示为正则表达式分隔符,这使得您的模式的其余部分不起作用,因为它被写为/是您的分隔符。

哦,我明白了,你的意思是:%s/{//g

答案 2 :(得分:4)

您应该在%之前添加s,以便在整个文件中将其替换为当前行:

:%s/{//g