如何从当前位置复制vim中的特定行?

时间:2014-04-01 09:46:14

标签: vim editor vi

如何从当前位置复制vim中的特定行,而不移动到该特定行? 假设,在下面的代码中,如果我的光标在行号中。 891我想要复制一行,比如说行号。 899.如果没有实际移动到899行,按yy并返回到891,我该怎么做呢?

885 int __pm_runtime_idle(struct device *dev, int rpmflags)
886 {
887         unsigned long flags;
888         int retval;
889 
890         might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe);
891 
892         if (rpmflags & RPM_GET_PUT) {
893                 if (!atomic_dec_and_test(&dev->power.usage_count))
894                         return 0;
895         }
896 
897         spin_lock_irqsave(&dev->power.lock, flags);
898         retval = rpm_idle(dev, rpmflags);
899         spin_unlock_irqrestore(&dev->power.lock, flags);
900 
901         return retval;
902 }

4 个答案:

答案 0 :(得分:8)

这个简短的cmd会帮助你

:899t.

它将复制第899行并粘贴到光标线下。

,但未触及"注册。

答案 1 :(得分:6)

使用yank命令:

:899y

这会将第899行复制到未命名的寄存器。

答案 2 :(得分:3)

一般

to yank,

:line#y

to yank&粘贴在下一行

:line#t.

删除

:line#d

以上所有内容也可以应用于一个行块。

从第10行到第20行

:10,20y

答案 3 :(得分:1)

我的LineJuggler plugin有一个 fetch 映射,可以使用相对寻址,这比输入完整的行号更快(特别是使用:set relativenumber)(如其他答案)。

您的具体示例是8[f(从当前行下方的8行获取)。