如何从光标位置开始快速删除VIM中的一行?

时间:2011-11-28 13:28:27

标签: vim

我希望能够删除我在VIM中光标位置开始的行的其余部分。有这么简单的命令吗?

为了帮助说明,这是在命令之前。

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

这是在命令

之后
The q
     ^
     |----- Cursor is here.

7 个答案:

答案 0 :(得分:406)

(编辑包括评论者的好补充:)

D或其等效的d$将删除该行的其余部分,并使您处于命令模式。 Cc$将删除该行的其余部分,并将您置于插入模式,新文本将附加到该行。

这是vitutorvimtutor的一部分,对于vim初学者来说非常“读”。

答案 1 :(得分:39)

使用 D 。有关详细信息,请参阅docs

答案 2 :(得分:19)

您可能也对 C 感兴趣,它也会删除 D 之类的行尾,但此外它会使您在光标位置处于插入模式。

答案 3 :(得分:8)

在命令模式下执行d$

答案 4 :(得分:6)

ESC 首先进入command mode。然后按 Shift + D

https://www.fprintf.net/vimCheatSheet.html

答案 5 :(得分:3)

这是一个非常老的问题,但是由于VIM仍然很重要,因此应澄清一些问题。

截至2018年10月,这里的每个答案和评论都提到了通常被称为“削减”行动的内容,因此,使用其中任何一项将取代VIM 未命名注册中的所有内容。该寄存器往往被视为默认的复制/粘贴剪贴板,因此,如果您要删除行的其余部分以将某些内容粘贴到同一位置,那么这些答案都将无法正常工作,因为随后删除的内容将被粘贴。代替以前被拉扯的东西。

OP上下文中真正的删除命令是"_D(如果需要插入模式,则为"_C),这会将删除的内容发送到黑洞寄存器,由"_,此位置再也不会打扰(尽管您仍然可以使用u撤消此操作)。

话虽如此,最后被撤销的内容都存储在 0寄存器中,即使将其替换为未命名的寄存器,也可以使用"0p进行粘贴。

>

进一步了解the black hole registerregisters in general,以获得更多的VIM乐趣!

答案 6 :(得分:3)

Ddd删除行并将其复制到寄存器中。您可以使用Vx来删除该行,并保持其正常模式。