全选 + 复制/粘贴

3

我在非vim文本编辑器中常用的一种模式是:

Cmd a Cmd c

复制整个文件中的所有内容,然后打开一个新文件,并使用

Cmd v

将所有内容粘贴。说到做到,我通常可以在约0.5秒内完成整个复制粘贴。在vim中,最常见/有效的方法是什么?

1个回答

2

我经常通过运行以下命令来执行相同的操作:ggVGy

第一个命令gg跳转到文件开头。然后我们使用V选择整个第一行。在可视模式下,我们使用G跳转到文件末尾,然后使用y复制(yank)所有内容。

你可以通过将所有这些命令映射到一个键来使它更快捷、更容易。使用下面的映射,按下leader键和X将复制整个文件。

nnoremap <leader>X ggVGy

如果你需要让内容可以在系统剪贴板中使用,而不仅仅是在Vim中使用,你应该使用"+y而不是y。这将复制到用于系统剪贴板的"+寄存器。你可以在this question中找到更多关于此主题的信息。

很棒,但是当我尝试使用 "+y 复制时,它并没有复制到我的系统剪贴板(请注意,我使用的是 Mac)。是否有其他方法可以复制到系统剪贴板? - David542
我自己使用的是macOS,"+y 对我来说可用。您可以尝试使用 "*寄存器 ("*y),因为在X11系统中这些寄存器之间只有区别。 在macOS(和Windows)上,它们都指向系统剪贴板。 - runar
2
复制整个文件的更短的方法是::%y+ - SergioAraujo
你也可以运行 :echo has('clipboard') 来查看 Vim 是否编译了剪贴板功能。如果返回值为 1,那么你就可以使用它了。 - runar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接