Vim-更改为并包括搜索的字符串

Vim-更改为并包括搜索的字符串,vim,replace,full-text-search,Vim,Replace,Full Text Search,假设我有以下代码: bool myCopiedFunc() { Some code that I've written; The cursor is on this line; <<<<<<<<<<<<<< if (something) { bool aValue; some of this is inside braces; return

假设我有以下代码:

bool myCopiedFunc() {
    Some code that I've written;
    The cursor is on this line; <<<<<<<<<<<<<<
    if (something) {
        bool aValue;
        some of this is inside braces;
        return aValue;
    }
    if (somethingElse) {
        this is also inside braces;
        bool anotherValue;
        {
            more braces;
        }
        return anotherValue;
    }
    return false;
}
bool myCopiedFunc(){
我写的一些代码;
光标在这一行上;
要替换多行中最多包含一个字符串,我可以
使用…?例如

/
支持偏移

在您的例子中,需要
e
偏移量,即
c/foo/e

您可能想了解有关“搜索偏移”的更多详细信息:


如果要替换到与当前作用域关联的右大括号,则有
c]}


如果你正在寻找函数的结尾,即使它意味着跨越到上范围,如果函数不能是0缩进,那么你需要一个插件,因为它是C++、java…请参阅相关的

即时消息-我认为“e”只会偏移字符串的第一个字(即
返回
)。我在Eclipse中使用Vrapper,所以:h不起作用,但我尝试了实际的vim,它给了我找不到的页面。我安装了vim doc包,但仍然没有找到,但这是另一个问题…@M\M我使用eclipse大约10年了,直到2014年。vi插件,vrapper。。。他们不如intellij中的ideavim好。虽然ideavim无法与真正的vim相比,但它是..至少。。。“可用”。还有在线的vim文档,你可以用谷歌搜索。但是标准的vim安装应该包括doc。@MμM偏移量通常是相对于整个匹配的,因此/e表示匹配结束。我尝试了这个方法,很高兴看到
/e
匹配整个字符串的结束。因此,我问题中粗体的一行应该是:要替换多行中最多包含一个字符串,我可以使用
c//e
,例如
c/return false/e
。这个答案提供了这些信息,因此我将其标记为已接受,但我不确定是否要将这一行重新添加到问题中,以使其作为概览资源更有用。与命令模式下的
e
不同,
foo
示例没有说明
/e
可以处理多个没有数字参数的单词。@M感谢您接受这个答案。我不明白你的要求。是否要删除
>>>>>光标
行,直到
返回false行包括在内?为什么
/e
偏移量不能为您工作?你的意思是你有多个
返回false文件中的语句?这并不能回答问题,但投票解释了我试图做的事情。我通过看到一个唯一的字符串并尝试替换为并包含它来解决这个问题(但留下尾随分号以避免键入;也许我被误导了,认为我不会出于习惯而键入一个;)。被接受的答案提供了一种可转移到其他情况的方法,但您是正确的,在本例中,我希望替换到当前范围的末尾。如果我是这样想的,那么你的答案就是我想要的。
:h offset