我有一个非常大的源代码(> 10,000行)要更改,有一些函数与fn_i_dont_want,我不需要更改,所有其他功能我必须做一些更改。所以它是#s很难在如此大的源代码中找到这样的函数。 例如:
int foo_i_dont_want()
{
fn_i_dont_want()
}
int foo_i_want1()
{
fn()
fn1()
}
int foo_i_want2()
{
fn()
fn1()
....
}
我希望vim搜索我想要的所有功能,foo_i_want1
,foo_i_want2
,条件是我不希望函数调用fn_i_dont_want
。
我试过像
一样使用vim正则表达式 /{\_.\{-}fn_i_dont_want\_.\{-}}
或
/{\_.*fn_i_dont_want\_.*}
但是一切都失败了,当有这样的功能时会变得更糟:
int foo_i_dont_want()
{
struct bar = {0,0};
fn_i_dont_want();
}
和vim搜索一对括号{}。
中的所有内容有人可以帮助我吗?
答案 0 :(得分:0)
使用正则表达式解析复杂的编程语言必然是不完整和有问题的。代替:
:substitute
onfirm标志的c
,并在检查后手动接受/拒绝每个匹配位置