如何从当前位置复制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 }
答案 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行获取)。