Answers:
如果光标已经在第12行,则简单
:4年 P
为我做。
x
吗?当我尝试时,:4x
我会得到E140: Use ! to write partial buffer
。谢谢!
:4d
怎么样:光标在第11行,您处于“ vi”模式。
:4co.<return>
您显然也可以使用以下模式:
:/^Yank/co.<return>
您可以使用“ mo”(移动)而不是“ co”(复制)来移动行,而不是拉动并放置。
:4t.
其他人已经提到了执行此操作最直接的方法,即:4y
,但是我想添加两个有关此操作的注释,这可能会很有用:
第一,如果您键入内容,:help range
您将了解有关使用范围应用于Ex样式命令的所有信息。在许多情况下非常有用,并且比使用行号更有用。例如,如果您想在文档开始后对第一行以“ yank”开头(即使它位于第一行),请使用:0/^yank/y
。范围最强大的部分是将它们组合起来的能力,例如,:./^Chapter/+50?Pete?d
意思是“找到下一行以单词Chapter(从当前行向前搜索)开头,然后向前跳50行,然后向后搜索Pete单词,并删除找到它的第一行。” 除了它实际上不移动光标之外,它只是执行您所告诉的内容。
(我已经使用这种类型的范围规范来自动完成文档创建工作,其中包括在光标下搜索函数名称,然后向前搜索表示“描述”的下一行并将其拖到特定的寄存器等。)
另一个技巧是,您应该了解跳跃。键入:help jump-motions
以全面了解它,但是这里的联系方式是,您可以跳至第4行,拉动它,然后用RETURN键返回4Gyy''
(或使用反引号代替撇号跳回到您的确切起始位置,而不仅仅是同一行您开始于。)
最短:
:1t.
复制当前行下方的第一行。
有范围:
:1,4t.
复制当前行下方的第1至4行(包括第4行)。
也可以使用相对行号:
:-1t.
复制当前行下方的前一行。
在您的示例中,:4t-1
将第四行复制到所需行下方。
注意::t
是:co[py]
命令的同义词。