我在非vim文本编辑器中常用的一种模式是:
Cmd
a
Cmd
c
复制整个文件中的所有内容,然后打开一个新文件,并使用
Cmd
v
将所有内容粘贴。说到做到,我通常可以在约0.5秒内完成整个复制粘贴。在vim中,最常见/有效的方法是什么?
我在非vim文本编辑器中常用的一种模式是:
Cmd
a
Cmd
c
复制整个文件中的所有内容,然后打开一个新文件,并使用
Cmd
v
将所有内容粘贴。说到做到,我通常可以在约0.5秒内完成整个复制粘贴。在vim中,最常见/有效的方法是什么?
我经常通过运行以下命令来执行相同的操作:ggVGy
。
第一个命令gg
跳转到文件开头。然后我们使用V
选择整个第一行。在可视模式下,我们使用G
跳转到文件末尾,然后使用y
复制(yank)所有内容。
你可以通过将所有这些命令映射到一个键来使它更快捷、更容易。使用下面的映射,按下leader键和X将复制整个文件。
nnoremap <leader>X ggVGy
"+y
而不是y
。这将复制到用于系统剪贴板的"+
寄存器。你可以在this question中找到更多关于此主题的信息。
"+y
复制时,它并没有复制到我的系统剪贴板(请注意,我使用的是 Mac)。是否有其他方法可以复制到系统剪贴板? - David542"+y
对我来说可用。您可以尝试使用"*
寄存器 ("*y
),因为在X11系统中这些寄存器之间只有区别。 在macOS(和Windows)上,它们都指向系统剪贴板。 - runar:%y+
。 - SergioAraujo:echo has('clipboard')
来查看 Vim 是否编译了剪贴板功能。如果返回值为 1,那么你就可以使用它了。 - runar