Vim 删除动作包括在光标下

dsa*_*ads 13 vim text-editors editing

如果在 vim 中向后删除,则不会删除光标下的字符。你需要做什么才能让它删除,比如说,回到最后一个空间?

Bra*_*der 19

只是为了澄清,如果您已经处于插入模式,CTRL-W则速度很快并且通常是您想要的。

在正常模式下,这可能是您所追求的:

准备好让你的头脑爆炸:

dvb

Vim 区分包含和排他的运动。v 切换运动的“包容性”或“排他性”。有关切换相反方向(包含 => 不包含)的示例,请尝试使用e

dve

有关:help解释,请参阅inclusive。直到现在,你还以为这只是深奥的胡说八道!不是吗?你不是吗?!(至少,每当我过去阅读帮助中的那部分时,我的眼睛都呆滞了...... :)

来源。

 

因此 - 将其与向后删除到最后一个空格相结合 - 您可以使用dvT<space>.

当然,dvB, daW, diW, 和vBd速度更快,通常就足够了。


gar*_*ohn -1

dT<space>
Run Code Online (Sandbox Code Playgroud)

删除回空格,我使用 <space> 来表示空格字符。或者,您可以使用

dB
Run Code Online (Sandbox Code Playgroud)

删除回到当前 WORD 的开头,一个 WORD 是一串非空格字符。看

:help T
:help B
:help WORD
Run Code Online (Sandbox Code Playgroud)

或者更一般地说

:help left-right-motions
:help word-motions
:help motion.txt
Run Code Online (Sandbox Code Playgroud)

但在所有这些情况下,Vim 都会从光标左侧的字符开始。

  • 这个答案似乎忽略了问题的整个“光标下的字符”一半,除了在最后一句中有效地指出这个答案的内容没有任何帮助之外。 (3认同)