在Vim中删除一段文本

所以我可以使用dd(普通模式)删除文本+行,并且所有下面的文本向上移动一行。

我可以使用Ctrl + v进入可视模式

如果我然后说0 > C+v > jjj > $ > d ,4行的文本被删除,但行不会被删除。

如何删除一段文本并同时删除这些行,以便任何前面的文本行移动到光标处?


对于像这样的东西,我通常使用shift + v,jjj ... d,但是也可以使用文本对象来删除。
请参阅:h text-object 。 几个例子:

di" - 删除里面的"
dap - 删除段落

你当然可以使用除d之外的其他命令,比如cv
我一直使用的东西是ci(ci"用于编辑内部()""

使用文本对象和视觉模式的更酷的例子可以在这里找到:
Vim最有效的捷径是什么?


你也可以使用,例如4dd提到的4dd,或Jens提到的范围。 然而在大多数情况下,我个人认为使用视觉线(shift + v)更加灵活,并且您不必数线或任何东西。 这很容易记住,你立即看到结果,即使你在屏幕的顶部/底部,你也不会错过计数线,它会工作。


使用4dd删除4行文本。

要么

使用行向可视化块。 <Sv>然后移动到最后一行要删除,然后按d


如果该块非常大,并且无法计算要删除的行数,但您知道第一个和最后一个行号( :set number helps),则可以始终转到ex模式并

 :3,1415d

从第3行通过第1415行删除。

链接地址: http://www.djcxy.com/p/49499.html

上一篇: Delete a block of text in Vim

下一篇: Does an updated 'vimtutor' exist?