2011-02-16 57 views
3

我必须替换某些(只有一部分在几十个)C函数内的特定宏的所有出现。由于该文件长达数千行,并且在所有函数中都有几个宏实例,所以我想要替换光标当前放置的特定函数内的所有事件。 我知道VIM提供了导航命令(比如[[去到当前函数的开头,然后%找到它的匹配的大括号],但我不知道如何使用它们来提出所需的搜索 - 替换命令。 任何人都可以帮忙吗?VIM:替换当前C/C++函数中所有字的出现

回答

12

将光标放在第一个大括号上。然后键入v%,您将看到突出显示的功能体。然后输入替换命令:s/find/replace/g并按回车。这将在所选功能内进行替换。

注意:您将看到命令提示符更改为::'<,'>:s/find/replace/g

+0

只是我正在寻找的答案! – TCSGrad 2011-02-16 08:50:55

2

尽管我也会推荐dogbane的解决方案,但我还是想提一下NrrwRgn插件。这对于处理缓冲区的连续子集非常有用。

相关问题