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

Sag*_*ain 3 vi vim editor

如何从当前位置复制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 }
Run Code Online (Sandbox Code Playgroud)

Ken*_*ent 9

这个短cmd会帮助你

:899t.
Run Code Online (Sandbox Code Playgroud)

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

并且没有触及"寄存器.


Tho*_*hor 6

使用yank命令:

:899y
Run Code Online (Sandbox Code Playgroud)

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


小智 5

一般来说

猛拉,

:line#y
Run Code Online (Sandbox Code Playgroud)

复制并粘贴到下一行

:line#t.
Run Code Online (Sandbox Code Playgroud)

删除

:line#d
Run Code Online (Sandbox Code Playgroud)

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

从第 10 行拉到第 20 行

:10,20y
Run Code Online (Sandbox Code Playgroud)