在Vim中剪切并粘贴而不移动下一行

use*_*632 3 vim

当我通过按下切割并粘贴在VIM中v,然后使用$,然后按下该行的末尾时d,下一行将向上移动到我正在切割的同一行.

我怎么阻止这个?

Xav*_* T. 8

它向上移动是因为您删除了所有字符,包括换行符/换行符.

Vim有许多常见的解决方案.没有"一种真实的方式",但您可以尝试以下命令.

  • 您可以D在正常模式下使用(大写),这将擦除所有内容,直到行尾.

    看到 :help D

  • 使用另一个动作

    您可以做什么,而不是使用$移动到行尾,使用g_.它将移动到该行的最后一个非空白字符,并且不会选择行返回.

    看到 :help g_

    所以vg_d应该按你的意愿工作.

  • 使用替换

    或者,您可以执行的操作而不是剪切,您可以使用空格字符将删除的字符替换为空白.

    所以v$rSPACE应该工作擦除,但它不会将替换的字符保存在寄存器中(例如稍后粘贴).