3

我正在尝试使用 vim 脚本从函数声明中仅提取函数名称。出于测试目的,我使用这个简单的例子:

int func(int a);

在 vim 脚本中,我通过以下方式提取函数名称:

:let a = substitute(getline(line('.')), ".*\(func\).*", "\1", "")

但是反向引用不起作用。当我回显变量 a 时

:echo a

它显示整行,即 int func(int a);

如何使用 bacreference 或任何其他方法仅提取函数名称?

提前致谢!

4

1 回答 1

8

在双引号内,必须转义反斜杠。使用单引号 ( '\1') 或将所有反斜杠 ( "\\1") 加倍。

详情请参阅:help expr-string

于 2012-12-28T11:45:33.837 回答