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

我希望能够删除我在VIM中从光标的位置开始的行其余部分。是否有一个简单的命令可以做到这一点?

为了便于说明,这是在命令之前。

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

这是在命令之后

The q
^
|----- Cursor is here.
315550 次浏览

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

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

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

在命令模式d$中执行。

使用D。更多信息见文档

你可能也对C感兴趣,它也会像D一样删除行尾,但除此之外,它会在光标位置将你置于插入模式。

先按ESC进入command mode。然后按转变+D

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

这是一个非常古老的问题,但由于VIM仍然相关,因此应该澄清一些事情。

截至2018年10月,这里的每个回答和评论都提到了通常被称为“cut”的操作,因此使用其中任何一个将取代目前在VIM的不知名的注册中的任何内容。这个寄存器倾向于被当作一个默认的复制/粘贴剪贴板,所以如果你删除一行的其余部分,然后在相同的地方粘贴一些东西,这些答案都不会像你想要的那样工作,因为刚刚删除的东西随后会被粘贴在之前删除的地方。

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

也就是说,无论最后拉出的是什么,它都存储在0注册中,即使它在未命名寄存器中被替换,它仍然可以使用"0p进行粘贴。

了解更多关于黑洞寄存器一般登记册的信息,以获得更多的VIM乐趣!

Ddd删除并复制该行到寄存器。你可以使用Vx,它只删除该行并保持在正常模式。