VIM:替换当前C / C ++函数中出现的所有单词

时间:2011-02-16 08:34:28

标签: linux vim

我要在一些(只有几十个)C函数中替换所有出现的特定宏。由于文件长达数千行,在所有函数中有几个宏实例,我想替换当前放置光标的特定函数中的所有实例。 我知道VIM提供导航命令(比如[[转到当前函数的开头,然后%找到匹配的右括号),但我无法弄清楚如何使用它们来提出所需的搜索 - 替换命令。 有人可以帮忙吗?

2 个答案:

答案 0 :(得分:12)

将光标放在第一个开口支架上。然后键入v%,您将看到函数体突出显示。然后键入替换命令:s/find/replace/g并按Enter键。这将取代所选的功能。

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

答案 1 :(得分:2)

虽然我也会推荐dogbane的解决方案,但我想我也会提到NrrwRgn插件。它对于处理缓冲区的连续子集非常有用。