delete ex命令将很好地工作。
:+,$d
这将删除从当前1的所有行,直到结束($)
要删除接下来的2行,以下范围将工作,1,2或速记,2
:+,+2d
因为@ib提到:delete或:d命令会将光标移动到删除文本旁边的行的开始处。 (即使使用nostartofline集)。为了克服这个问题,我们可以发出“normal mode命令。 “将跳回到最后一个跳转之前的精确位置,在本例中为:d命令。我们的命令是现在
:,2denter“
或作为一个ex命令
:+,+2d|norm! ``
为了使这更容易,我们将这一切包装在一个命令:
command! -count=1 -register D :+,+<count>d <reg><bar>norm! ``
现在删除以下3行:
:3D
这个命令也可以采用{reg} like:delete和:yank do。所以删除接下来的4行到寄存器a将是:
:4D a
了解更多信息
:h :d :h :command :h :command-register :h :command-count :h ``