VIM将一系列行删除到寄存器中

UNa*_*amy -2 vim vim-registers

我试图将一系列行删除到寄存器中a.这是实现这一目标的最简单方法吗?
:5,10d a

Ken*_*ent 10

"最简单"的定义取决于您拥有什么,以及您想做什么

  1. 如果你有一个起始行号和结束号,例如

    :2349,5344d a
    
    Run Code Online (Sandbox Code Playgroud)

    是最简单的方法.

    你不必考虑像这样的问题

    "我的光标在哪里?"

    "将删除多少行?" ...

  2. 如果您要删除少量线条,尤其是它们在同一屏幕上.(您可以使用relative-linenumber.)例如:"a5dd 但您必须将光标移动到要删除的第一行.这也可以通过选项1完成:( 5:d a<CR>vim会自动将其转换为.,.+5d a<CR>)

  3. 如果您只知道删除的第一行,并通过阅读文本(当然,少量行)找到要删除的最后一行,您可以按V,并j在阅读时按下,当它到达删除结束边界时,按"ad

  4. 如果你问题中的"范围"是vim中的"范围"概念,那么第一个选项会更好.既然它可能234,540,它可能是1;/foo,/foo/,/bar/...... :h range看详细

所以回到我的答案的第一句话,没有绝对最简单的方法.这完全取决于你拥有什么,以及你想做什么.