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

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

172208 次浏览

命令模式下的dd(按下转义键后)将剪切行,命令模式下的p将粘贴。

更新:

作为奖励,d和随后的一个运动将切割该运动的等量物,因此dw将切割一个单词,d<down-arrow>将切割这一行和下面的一行,d50w将切割50个单词。

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

D从游标切到行尾。

如果你已经使用了v(可视模式),你应该尝试V(可视线模式)和<ctrl>v(可视块模式)。

是的,在命令行中使用dd。另外,我建议用http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html中提供的ViM热键打印有用的图像

有几种方法来切断一条线,都是由d键在正常模式下控制的。如果你正在使用可视化模式(v键),你可以在高亮显示你想要切割的区域后,点击d键。移动到你想要粘贴的位置,并点击p键进行粘贴。

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

转变+v将选中整行,按d将删除它。

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

  1. 在正常模式下按“V”键选择整条线
  2. 然后按“y”复制它
  3. 到你想要粘贴的地方,按“p”粘贴光标后或按“p”粘贴光标前。

只需三步。


  1. 转到文本的开始,并按v
  2. 转到文本的结束,并按d
  3. 去到你想要粘贴的地方,然后按p

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

__abc0 + __abc0


光标后粘贴

p


光标前粘贴

__abc0 + __abc1


选择全线(我一直在用这个)

__abc0 + __abc1

然后jk分别向下和向上移动


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

假设你想要剪切行bbb并将其粘贴到行---下面

之前:

aaa
bbb
---

后:

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

enter image description here

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

  1. yy复制该行。
  2. 然后dd删除该行。
  3. 然后p来粘贴该行。
  1. 转到该行,首先按esc,然后按Shift + v

(这将突出显示这一行)

  1. 新闻d

(该行已被删除)

  1. 转到你想要粘贴该行的位置,并点击p

简而言之,

EscShift + vdp