是否有命令删除直接在当前行下面的一行(或几行)?
目前我做的是:
jdd然后。根据需要重复。
有一个命令,将所有这些组合?
目前我做的是:
jdd然后。根据需要重复。
有一个命令,将所有这些组合?
更新:我想有这样的命令的原因是,我不喜欢离开当前位置,但可以删除下面的行。
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 ``