5

我有以下文字:

Monkeys eat {bananas}.

我的光标在单词的中间banana

Monkeys eat {bana|nas}.

这里的|符号表示光标的位置。

如何从那里删除大括号?

我可以用一个简单的改变bananasto ,所以也许我可以使用类似的技巧来摆脱and字符?applesci}apples{}

另外,即使在这种情况下,我也可以这样做,这实际上是我真正需要做的吗?

networks {
    local
    is|p
}

(上面的简化示例只是为了介绍这个概念。)

4

4 回答 4

9

使用 Tim Pope 出色的环绕.vim 插件(我强烈推荐),您可以ds{删除环绕{

我知道,当您可以找到本机键序列时,添加另一个插件并不总是理想的解决方案,但surround.vim 非常有用,因为它还可以处理 XML/HTML 标记并在复杂的文本对象上执行附件。我认为它是那些“困在荒岛上,任何情况下都必须有”的插件之一。

于 2012-08-11T22:00:47.387 回答
8

该任务可以通过 Vim 内置的文本动作来完成。删除大括号内的文本,选择大括号,然后将之前删除的文本粘贴到它们上面:

di{v%p
于 2012-08-12T01:55:46.257 回答
4

那这个呢:

yiBvaBp

没有插件,简单。

于 2012-08-11T22:52:19.363 回答
1

删除大括号并保留其他所有内容?

mz[{x]}x`z

展开

:help m- 设置一个标记。在这种情况下,标记初始光标位置,以便我可以在最后返回那里。:help [{- 将光标移动到包围光标的最小块的左大括号。:help x- 删除现在光标下的大括号。]}x- 对右括号做同样的事情。最后

help `

回到标记位置,z开始时调用创建的那个。

“插件”不是我的风格...

于 2012-08-11T22:01:04.473 回答