我希望能够删除我在VIM中从光标的位置开始的行其余部分。是否有一个简单的命令可以做到这一点?
为了便于说明,这是在命令之前。
The quick brown dog jumps over the lazy fox.
^
|----- Cursor is here.
这是在命令之后
The q
^
|----- Cursor is here.
我希望能够删除我在VIM中从光标的位置开始的行其余部分。是否有一个简单的命令可以做到这一点?
为了便于说明,这是在命令之前。
The quick brown dog jumps over the lazy fox.
^
|----- Cursor is here.
这是在命令之后
The q
^
|----- Cursor is here.
(编辑包括评论者的好补充:)
D或其等价的D $将删除该行的其余部分,并使您处于命令模式。C或C $将删除该行的其余部分并将您置于插入模式,新文本将被追加到该行。
这是vitutor和vimtutor的一部分,对于vim初学者来说是极好的“读物”。
这是一个非常古老的问题,但由于VIM仍然相关,因此应该澄清一些事情。
截至2018年10月,这里的每个回答和评论都提到了通常被称为“cut”的操作,因此使用其中任何一个都将取代目前VIM未命名寄存器中的任何内容。这个寄存器倾向于被当作一个默认的复制/粘贴剪贴板,所以如果你删除一行的其余部分,然后在相同的地方粘贴一些东西,这些答案都不会像你想要的那样工作,因为刚刚删除的东西随后会被粘贴在之前删除的地方。
OP上下文中的真正删除命令是“_D(如果需要插入模式,则为“_C”)。它将删除的内容发送到黑洞寄存器,由“_”指定,在那里它将不会再打扰任何人(尽管您仍然可以使用u撤消此操作)。
也就是说,无论最后拉出的是什么,它都存储在0寄存器中,即使它在未命名的寄存器中被替换,它仍然可以使用“0p. 0”进行粘贴。
了解更多关于黑洞寄存器和寄存器一般额外的VIM乐趣!