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
第二个键序列删除从光标位置到第十二个单词末尾的字符,这将准确地生成您想要的行。
如何删除到行的第一个字符?例如,在下面的行中,光标如指示的那样靠近末尾,向后删除直到第一个 $
.
我有这条线:
[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
第二个键序列删除从光标位置到第十二个单词末尾的字符,这将准确地生成您想要的行。