如果在 vim 中向后删除,它不会删除光标下的字符。要让它删除,比如说,回到最后一个空格,你需要做什么?
答案1
只是为了澄清一下,如果您已经处于插入模式,CTRL-W
那么速度很快而且通常就是您想要的。
在正常模式下,这可能是您所追求的:
准备好让你大吃一惊吧:
dvb
Vim 区分了包容性动作和排他性动作。
v
切换动作的“包容性”或“排他性”。 有关切换相反方向(包容性 => 排他性)的示例,请尝试使用e
:
dve
请参阅
:help
inclusive 以了解解释。直到现在,您还认为这只是深奥的废话!不是吗?不是吗?!(至少,每当我阅读帮助中的那部分时,我的眼睛都会呆滞…… :)
因此 —— 要将其与向后删除到最后一个空格相结合 —— 您可以使用dvT<space>
。
当然,、、dvB
和daW
速度更快diW
,vBd
而且通常就足够了。
答案2
dT<space>
删除后返回空格,这里我使用 <space> 表示空格字符。或者,你可以使用
dB
删除回当前 WORD 的开头,WORD 是非空格字符串。请参阅
:help T
:help B
:help WORD
或者更普遍地
:help left-right-motions
:help word-motions
:help motion.txt
不过,在所有这些情况下,Vim 都从光标左侧的字符开始。