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


198

我知道如何v在vim中使用该命令,但是我需要一些可以删除整行的东西,它应该允许我将同一行粘贴到其他地方。

Answers:


84

Shift+ v将选择整行,然后按d将其删除。

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


38
或者,您也可以按vv或dd,这两种方式都不会激活烦人的视觉模式。
jaked122

13
dd较容易shift + v> -d
科罗布峡谷

1
那撤消呢...我正在尝试我的文档,却无法撤消它们。
Abhishek saharn

19
粘贴呢?
becko

1
通常,我不会发表评论,但事实上,这个人没有告诉自己如何粘贴并且仍然得到了公认的答案,这使我很高兴
Cristian E.

421

dd在命令模式下(按Escape键后)将剪切线,p在命令模式下将粘贴。

更新:

要获得奖金,d然后一个动作将削减该动作的等效项,因此dw将削减一个单词,d<down-arrow>将削减此行以及下面的一行,d50w将削减50个单词。

yy是复制行,其工作方式类似于dd

D 从光标切到行尾。

如果使用过v(可视模式),则应尝试V(可视行模式)和<ctrl>v(可视块模式)。


13
好答案。我将P在命令模式下将行粘贴到光标之前。并<Ctrl-R>"以插入模式粘贴该行。
Birei 2012年

13
]p粘贴正确的缩进。但是我们应该注意不要在这里发布整个vim手册:)。
DaedalusFall 2012年

16

剪切线有几种方法,所有方法均d在正常模式下由按键控制。如果您使用的是视觉模式(v按键),则只需按一下d突出显示要剪切的区域后就按键。移至您要粘贴的位置,然后点击p按粘贴键。

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


14

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

d + d

粘贴剪贴板内容

(按住)Shift+P


12

假设您要剪切线bbb并将其粘贴到线下---

之前:

aaa
bbb
---

后:

aaa
---
bbb
  1. 将光标放在行上 bbb
  2. d+d
  3. 将光标放在行上 ---
  4. p

在此处输入图片说明


11
  1. 在正常模式下按“ V”以选择整行
  2. 然后按“ y”将其复制
  3. 转到要粘贴的位置,然后按“ p”将其粘贴在光标之后,或按“ P”进行粘贴。


7

我发现最快的方法是通过编辑模式:

  1. 按下yy以复制该行。
  2. 然后dd删除该行。
  3. 然后p粘贴该行。

4

只需三个步骤。

  1. 在命令模式下,转到要复制的文本的开始位置,然后按v
  2. 转到文本的末尾位置,然后按d
  3. 转到要粘贴的位置,然后按p
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.