vim查找并删除全文中配对括号中的内容

请问,有一个文件,大概内容是这样的

ccsn_first_stage () {
aaa {
 }
bbb {
 }
 }

ccsn_last_stage () {
aaa {
 }
bbb {
 }
  }

我只想删除

ccsn_last_stage () {
aaa {
 }
bbb {
 }
  }

请问应该怎么查找,匹配?

要无限层{}嵌套匹配必须要用正则表达式的平衡组语法,但一般编辑器不支持平衡组语法,只能有限层{}嵌套匹配。
如量多5层{}嵌套匹配
ccsn_last_stage \(\) \{(?:[^{}]*(?:\{(?:[^{}]*(?:\{(?:[^{}]*(?:\{(?:[^{}]*(?:\{[^{}]*\})*)*\})*)*\})*)*\})*)*\}
要再多几层匹配可以按上面的规律自己增加
 

目前已经找到一个还算比较简单的方法了,就是在vim中录制宏,将visual下录制va},然后再1000@a这样去重复之前的操作