我尝试了:s%/{//g
和:s%/\{//g
。如何在vim中找到并替换(删除,实际上)大括号?
感谢。
编辑:我的意思是在s之前有%,所以我可能只是在输入错误。感谢大家的快速回复。答案 0 :(得分:11)
@chaos的扩展
{
字符(即:左括号,不要与括号[
混淆,或括号(
))...不需要转义。
你可能意味着删除所有大括号。百分号应该在's'之前,而不是之后。这意味着要对所有范围执行搜索。
所以,就这样做:
:%s/{//g
:%s/}//g
全部完成!
您应该考虑阅读VIM范围。例如,要在当前行上进行替换以及最多10行,您可以执行以下操作:
:.,.+10s/}//g
答案 1 :(得分:5)
:s/{//g
运行正常。为什么你要在%
之后放置s
?通过这样做,您将%
指示为正则表达式分隔符,这使得您的模式的其余部分不起作用,因为它被写为/
是您的分隔符。
哦,我明白了,你的意思是:%s/{//g
。
答案 2 :(得分:4)
您应该在%
之前添加s
,以便在整个文件中将其替换为当前行:
:%s/{//g