Vim: 如何删除光标和行首字符之间的内容?

Vim: How to delete between the cursor and the first character of the line?

如何删除到行的第一个字符?例如,在下面的行中,光标如指示的那样靠近末尾,向后删除直到第一个 $.

我有这条线:

[space][space][space]$entity->setPositionBrand(count($qb->getResult())[my_cursor_here] + 1);

删除后,我要这个:

[space][space][space] + 1);

显然没有 Vladimir 的回答那么简洁(这是一个更好的解决方案),但作为记录,这里是您如何使用可视模式实现同样的效果。

v0wx

  • v进入视觉模式。
  • 0移至行首。
  • w 移至第一个单词。
  • x删除视觉选择中的字符。

任意数量的空格都算作一个单词。

有一个标准的 vim 动作可以精确到该行的第一个非空白字符。这是^

所以你只需要输入d^.

如果您想要一个通用的解决方案,您可能需要某种基于正则表达式的键绑定。但是,您可以使用这些组合键完成您想要的操作:

  • 将光标放在第一个 $ 标志上。
  • d 12 e

第二个键序列删除从光标位置到第十二个单词末尾的字符,这将准确地生成您想要的行。