答案1
我理解问题在于当 EOL 字符紧跟该单词时删除该行中的最后一个单词,而当您首选的快捷方式保留最后一个字符而不删除它时。
问题可能是因为 Vim 区分了包容性动作和排他性动作。使用 可v
切换动作的“包容性”或“排他性”。
因此您可以使用这个组合: d++ v+TSpace
请参阅:help inclusive
以了解解释。
如果太长,你可以录制 宏 为了它。
您还可以使用以下快捷方式:
daw : delete the word under the cursor (includes spaces before the next word)
caw : same and puts you in insert mode
diw : delete entire word without touching whitespace around it
daW : delete all characters between two whitespaces
答案2
- 使用
:set virtualedit=onemore
,您可以将光标移动到最后一个字符的右侧,并且您的命令将会起作用:$ldT<Space>
- 正如您提到的,在这种情况下,动作是自然的
iw
。 - 除了
T<Space>
,您还可以b
在这里使用 。 - 我可能会
bD
在这里用。 - 如果
dT<Space>
您首先想到的是 ,您可以使用 来更正遗漏的字符x
。只要您不使用已删除的内容或撤消,这都没有关系。