这两个键不区分 normal/visual,绑定的方法不变:
x evil-delete-char
d evil-delete
再看 evil-delete-char
的定义:
(evil-define-operator evil-delete-char (beg end type register)
"Delete next character."
:motion evil-forward-char
(interactive "<R><x>")
(evil-delete beg end type register))
就是 evil-delete
的一个特例嘛。所以这两个键都是删除,区别在于删除的范围不同,visual 只不过是把删除范围可视化了。
在 vi 的世界,删除的内容都要放到 "
寄存器,而 "
寄存器正是你下次粘贴的来源,这就是你的困扰。
你可以重载 evil-delete-char/evil-delete-char
来改变这个行为,把删除内容丢掉,或者放到一个不常用的寄存器。