17

我敢肯定,我会因为提出重复的问题而受到嘲笑。之前一定有人问过这个问题!但是在一个小时的搜索中我还没有找到它。我一定是在寻找错误的东西。

在 Vi(或 Vim)中,我可以}通过键序列删除直到字符的所有字符dt}(或者df}如果我也想删除括号)。

但是,这仅在}字符位于当前行时才有效。我想要做的是删除直到下一个的所有内容,}即使它第一次出现在下一行。

我在想类似的东西d/}(在任何其他情况下,斜线/}<enter>都会带我到下一次出现})。由于显而易见的原因,这不起作用,但我希望意图很明确。

== 编辑 ==

好吧好吧好吧……对不起。没关系,它确实有效(在我的全新安装机器上)。可能是配置文件中的一些混乱映射,但它不适用于我的另一个。

羞愧地低着头

4

3 回答 3

16

d/}<cr>作品。这是删除直到下一个}不在同一行的规范方法。顺便说一句,d?{<cr>做同样的事情,但方向相反。

于 2012-09-26T21:50:15.903 回答
3

这个插件应该可以为您节省一些击键。它扩展了 fFtT 的功能;所以他们跨界工作。

于 2012-09-27T00:57:17.130 回答
1

如果字符位于}{放置在行首,则一种方法可能是使用Text object motions,因此类似的命令d]]也可能很有用。

于 2012-09-26T21:59:05.110 回答