2012-09-26 30 views
15

我敢肯定,我会因为要求重复问题而被嘲笑;以前一定有人问过这个问题!但在一小时的搜索中,我还没有找到它。我一定在寻找错误的东西。Vim:删除到下一个字符,当下一个字符不在同一行

在VI(或VIM)我可以通过按键序列dt}删除所有字符,直到达到}字符(或df}如果我要卸下支架以及)。

但是,这只适用于}字符在当前行上。我想要做的是删除一切,直到下一个},即使它是第一次出现在后续行上。

我在想像d/}(其中斜杠/}<enter>在任何其他上下文,将带我到下一次出现})。出于显而易见的原因,这不起作用,但我希望其意图清楚。

==编辑==

好的好吧好吧...对不起。你没事,它确实有效(在我的干净安装机器上)。可能会在配置文件中出现一些混乱的映射,但它不适用于我的另一个映射。

航头在耻辱

+2

你真的尝试过吗?因为它适合我。 – parsifal

+0

当然我试过了!什么对你有用? – cartbeforehorse

+1

有什么“明显的原因”会导致它失败? vim上的行为是什么? – Scharron

回答

15

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

1

如果字符是}{放置在一行的开头,一个方式可以使用文本对象运动,所以像d]]的命令可能是有用的。

3

plugin应该为您节省一些击键。它扩展了fFtT的功能;所以他们跨线工作。

相关问题