10

我读到这b就像eie的反面b做了 e 做的事情,但倒退了。

所以如果我点击de一个单词并且光标在单词的第一个字母上,它会删除整个单词。那太棒了!

但是如果我点击db一个单词并且光标在单词的最后一个字母上,它会删除整个单词,除了光标所在的字母!

我知道我可以在使用时只移动一个角色,b但我想保持一致。也许有人可以启发我为什么会有这样的b行为。

4

5 回答 5

9

b不是相反的e,asb排他的议案,whilee包容的。从:help e& :help b

e转发到单词[count] inclusive的末尾。不会停在空行中。

b [count]话倒退。 独家议案。

:help exclusive

角色动作要么是包容性的,要么是排斥性的。当包含时,动作的开始和结束位置包含在操作中。独占时,不包括缓冲区末尾的最后一个字符。线性运动总是包括开始和结束位置。

于 2013-02-11T05:00:59.327 回答
8

vim 光标是一个非常恶心的东西,设计不佳,模仿终端的块光标。光标位置实际上是在块的开始/左侧,所以如果块“打开”并且你k实际上是从to删除。barkdbrb

幸运的是,您可以将光标更改为合理的值

于 2013-02-11T05:00:45.317 回答
4

您应该看一下:help text-objects:它允许您将命令应用于智能对象,例如单词、句子或段落。

要擦除一个单词,无论光标的位置如何,都应该使用diw.

于 2013-02-11T10:24:07.463 回答
0

删除一个字daw

删除光标下的单词和左边的空格,将光标留在前一个单词的末尾。这是一个可重复的变化。在 VIM 中,你可以重复.


$ | 然后没有e

daw| 然后有s

. | 然后e

于 2015-07-10T09:31:03.517 回答
0

最终v用于在向后运动中使用视觉模式。

" Backward motion, inclusive the current cursor.
onoremap b vb
onoremap F vF
onoremap T vT

这按预期工作,并且足以满足我的典型用途。相关文章: https ://jdhao.github.io/2019/05/18/nvim_exclusive_inclusive_motion/

于 2021-05-03T16:33:09.067 回答