4

我知道如何删除从光标位置到出现模式的部分文本,我的意思是d/<pattern>。我想知道如何在光标位置之前删除部分文本,直到出现光标位置之前的模式。

在文件中的位置 x:

>>>>
aaaa
===x
bbbb
<<<<

我要删除

>>>>
aaaa
====

如果模式在文件中只存在一次,这是可行的......并且 vim 没有选择。但是这样的文件存在问题:

>>>>
aaaa
====
bbbb
<<<<

foo
boo

>>>>
cccc
====
dddd
<<<<
4

2 回答 2

9

您可以使用 向后搜索?。所以要删除直到一个模式,使用d?<pattern>.

于 2013-04-21T13:01:39.060 回答
1

可以使用 f 或 t 提前删除。例如,d2f_ 最多删除第二个下划线(包括第二个下划线),d2t_ 最多删除第二个下划线,但不包括第二个下划线。我刚刚在运行你知道什么的机器上尝试了 gVim,如果你将 f 或 t 大写,它会反向工作。因此 d2F_ 将删除 BACK TO 并包括倒数第二个下划线,而 d2T_ 将删除 BACK TO 但不包括倒数第二个下划线。

我很高兴找到了这个,我可以按一下我的脸颊腺体。

于 2015-09-18T08:44:34.103 回答