在`vi`中从光标到行尾删除

Fal*_*rri 393 vim vi

我知道在我读过的所有vi文档中我可能已经看了一百万次,但我似乎无法找到从光标到行尾命令的删除。

Tok*_*Tok 572

D (大写字母 D)

该命令dw将从当前光标位置删除到下一个单词字符的开头。该命令d$(注意,这是一个美元符号,而不是“S”)将从当前光标位置删除到当前行的末尾。D(大写 D)是d$(小写 D + 美元符号)的同义词。


小智 87

正如其他人所提到的:您可以使用d$Dshift- d)从光标位置删除直到行尾。

我通常发现更有用的是c$or C( shift- c) 因为它会从光标位置删除直到行尾并将您置于 [INSERT] 模式。

  • 好的!!!在我看来,这对大多数人来说比 `D` 好得多,因为它不会让你在行尾移动一个空格。 (6认同)
  • 为什么这个答案一直隐藏在这里?这是我来到这里时真正寻找的功能。 (2认同)
  • 目标是在一次操作中完成,而不是两次。额外的击键 = 额外的摩擦。 (2认同)

Gil*_*il' 41

vi 的优点之一是它的逻辑命令结构。d后跟运动命令d eletes 到该运动的目标。$移动到行尾(助记符:就像在正则表达式中一样)。所以d$删除到行尾。类似地,e移动到Ë当前字的Nd和w移动到下一个的开始瓦特ORD; sode删除当前单词的结尾,dw另外删除后面的空格。


Bru*_*ger 21

您可能想使用 D。将光标移动到您要删除的第一个字符,然后按 shift-D。一切都过去了。实际上,它在默认剪切缓冲区中,因此您可以将其 P 或 p 粘贴回。

我使用 Dp(删除到行尾,然后放回去),移动到另一行的末尾,然后再次 p 将相同的文本粘贴到另一行的末尾。在配置文件中创造奇迹,您需要在两个或多个地方放置一些复杂的 URL。