如何在vim中剪切整行并粘贴它?

如何在vim中剪切整行并粘贴它?,vim,Vim,我知道如何在vim中使用v命令,但我需要一个可以删除整行的东西,它应该允许我将同一行粘贴到其他地方。dd在命令模式下(按escape后)将剪切该行,p在命令模式下将粘贴该行 更新: 作为奖励,d然后一个移动将剪切该移动的等价物,因此dw将剪切一个单词,d将剪切此行,下面的行,d50w将剪切50个单词 yy是复制行,其工作原理类似于dd D从光标剪切到行尾 如果您使用了v(可视模式),您应该尝试v(可视行模式)和v(可视块模式)。是的,在命令行中使用dd。另外,我建议使用ViM热键打印有用的图像,

我知道如何在vim中使用
v
命令,但我需要一个可以删除整行的东西,它应该允许我将同一行粘贴到其他地方。
dd
在命令模式下(按escape后)将剪切该行,
p
在命令模式下将粘贴该行

更新:

作为奖励,
d
然后一个移动将剪切该移动的等价物,因此
dw
将剪切一个单词,
d
将剪切此行,下面的行,
d50w
将剪切50个单词

yy
是复制行,其工作原理类似于
dd

D
从光标剪切到行尾


如果您使用了
v
(可视模式),您应该尝试
v
(可视行模式)和
v
(可视块模式)。

是的,在命令行中使用dd。另外,我建议使用ViM热键打印有用的图像,该热键位于

有几种方法可以剪切线条,所有方法都由正常模式下的
d
键控制。如果您使用的是视觉模式(按下
v
键),则在高亮显示要剪切的区域后,只需按下
d
键即可。移动到要粘贴的位置,然后按
p
键进行粘贴

还值得一提的是,您可以从寄存器复制/剪切/粘贴。假设您不确定何时何地粘贴文本。您可以将文本保存到最多24个由字母顺序标识的寄存器中。只需在命令前面加上
(单引号)和注册字母(a到z)。例如,您可以使用可视模式(
v
键)选择一些文本,然后键入
'ad
剪切文本并将其存储在寄存器“a”中。导航到要粘贴文本的位置后,可以键入
'ap
粘贴寄存器a的内容

按Shift+v将选择整行,按d将删除该行

您还可以使用dd,它不需要您进入可视模式

  • 在正常模式下按“V”选择整条线路
  • 然后按“y”复制它
  • 转到要粘贴的位置,按“p”在光标后粘贴,或按“p”在光标前粘贴

  • 只需三步。


  • 转到文本的开头,然后按v
  • 转到文本的结尾,然后按d键
  • 转到要粘贴的位置,然后按p


  • 删除当前行并复制到剪贴板:

    d+d


    在光标后粘贴

    p


    在光标前粘贴

    Shift+p


    选择整行(我一直使用此选项)

    移位+v

    然后j或k分别向下和向上移动



    本质上,d+d相当于Shift+v,然后d

    假设您想要剪切行
    bbb
    ,并将其粘贴到行
    --

    之前:

    aaa
    bbb
    ---
    
    之后:

    aaa
    ---
    bbb
    
  • 将光标放在行
    bbb
  • 按d+d
  • 将光标放在
    --
  • 按p

  • 我找到的最快方法是通过编辑模式:

  • yy
    复制该行
  • 然后
    dd
    删除该行
  • 然后
    p
    粘贴该行
  • 转到该行,首先按esc键,然后按Shift+v键
  • (这会突出显示该行)

  • d
  • (该行现在已删除)

  • 转到要粘贴行的位置,然后点击
    p
  • 简言之


    Esc
    ->
    Shift+v
    ->
    d
    ->
    p

    回答得好。我将添加
    P
    以在命令模式下粘贴光标前的行。和
    以插入模式粘贴行。和
    ]p
    以正确缩进粘贴行。但是我们应该注意不要在这里发布整个vim手册:)。或者您可以按vv或dd,它们在没有激活恼人的视觉模式的情况下是等效的。
    dd
    shift+v
    ->
    d
    撤消更容易。。。我正在尝试我的文档,但无法撤消它们。粘贴怎么样???@becko
    p
    cusror后粘贴
    Shift
    +
    p
    光标前粘贴。公认的答案是可怕的。不必在注释中回答。p是否在光标所在的当前行之前或之后插入?它粘贴在光标所在的行之后。在光标所在的当前行之前或之后执行SHIFT+p插入?@BernhardDöbler我已更新我的答案以回答您的问题
    Shift
    +
    p
    将粘贴在光标之前。最近我发现自己越来越频繁地使用纯
    p
    。你是怎么做的?这只是一个
    .gif
    ?@KolobCanyon它是一个用LICEcap创建的动画gif-你应该更新你接受的答案。它不会告诉你如何粘贴…要将一行从第10行移动到第20行,请使用以下命令:10m 20