vi / vim编辑器,复制一个块(不是通常的操作)

问题描述 投票:60回答:7

在vi / vim编辑器中,我需要复制一个块。有很多方法,但是一种方法很快。

  1. 以某种方式标记第一行,

  2. 然后以某种方式标记终点线,

  3. 然后放一些命令来复制标记的行。

  4. 然后复制,可能使用'p',但不确定。

有人知道命令(不是yy或10yy)吗?提前致谢。

vim copy-paste vi
7个回答
34
投票

另一个可能更容易记住的选项是用m am b在两行上放置标记,然后运行:'a,'byank

[完成任务的许多不同方法,仅提供另一种。


106
投票

仅使用V选择行或v选择字符或Ctrl v选择块。

当选择跨越您要复制的区域时,只需按y并使用p将其粘贴到您喜欢的任何位置...


76
投票

Their Documentation says:

剪切和粘贴:

  1. 将光标定位在要开始切割的位置。
  2. v选择字符(或大写V选择整行)。
  3. 将光标移动到要剪切的末尾。
  4. d剪切(或y复制)。
  5. 移至您要粘贴的位置。
  6. P粘贴在光标之前,或p粘贴在光标之后。

复制和粘贴的步骤与第4步相同,除了要按y而不是d的第4步:

d =delete= cut

y =yank= copy


17
投票

听起来您想在文件中放置标记

m x在光标下放置一个名为x的标记

y ' x将光标的当前位置和包含mark x的行之间的所有内容都移去。

您可以使用'

x将光标简单地移动到带有标记的行。

您可以使用`

x(反引号)移动到标记的确切位置。

我一直做的一件事是将光标之间的所有内容都选中,然后将x标记到剪贴板中

您可以这样操作:

+ y ' x

注意:在某些环境中,剪贴板缓冲区由*代替+


类似的问题,有一些好的答案:


12
投票

我发现以下命令更加方便。如果要复制6到12行并从当前光标位置粘贴。


7
投票

键盘快捷键是:


1
投票

[您可以像在vi中一样进行操作,例如,将3020的行拖到末尾,执行此命令(将块写入文件):

© www.soinside.com 2019 - 2024. All rights reserved.