它向上移动是因为您删除了所有字符,包括换行符/换行符.
Vim有许多常见的解决方案.没有"一种真实的方式",但您可以尝试以下命令.
您可以D在正常模式下使用(大写),这将擦除所有内容,直到行尾.
看到 :help D
使用另一个动作
您可以做什么,而不是使用$移动到行尾,使用g_.它将移动到该行的最后一个非空白字符,并且不会选择行返回.
看到 :help g_
所以vg_d应该按你的意愿工作.
使用替换
或者,您可以执行的操作而不是剪切,您可以使用空格字符将删除的字符替换为空白.
所以v$rSPACE应该工作擦除,但它不会将替换的字符保存在寄存器中(例如稍后粘贴).