gpt4 book ai didi

Vim:替换函数体内的文本

转载 作者:行者123 更新时间:2023-12-04 16:26:28 27 4
gpt4 key购买 nike

我有一些非常有用的插件可以通过文件查找和替换文本(请参阅 EasyGrep vim 脚本 - 这对程序员非常有帮助)。我什至可以仅替换当前缓冲区中的文本 - 通过使用插件或 :%s ... .但是如果我只想替换当前函数体内的文本怎么办?

考虑以下示例:

void f0()
{
int foo = 0;
// ...
}

// 99 other functions that uses foo as local variable.

void f100()
{
int foo = 0; // I want to replace foo with bar only in this function
// 1000 lines of code that uses foo goes below
// ...
}

当然,我可以用 :%s ...c标志以供确认,但我相信有一种更快的方法可以做到这一点。

谢谢。

最佳答案

您可以使用 % 对整个文件进行替换。或选择。

创建选择 :

例如,进入可视模式 Linewise,使用 Shift+v ,选择几行然后输入 : .

您的提示将如下所示::'<,'>这意味着:当前选择

然后输入 s/foo/bar/g它将在当前选定的行中用 bar 替换 foo。

更好 选择函数内容的方法是使用光标进入函数并键入:vi}它将选择 { 之间的所有内容和 } .

:help text-objects有关选择的更多提示。

关于Vim:替换函数体内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5484413/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com