Linux 如何使用vim命令行从vim编辑器复制所有文本?

Linux 如何使用vim命令行从vim编辑器复制所有文本?,linux,vim,Linux,Vim,我想从vim编辑器中选择所有文本,我尝试了命令:%y+,但得到错误E850:无效的寄存器名。我从你那里得到这个命令。请帮助我如何从vim中打开的文件中复制所有文本。他们正在使用yank,这是什么意思..选择整个文件,您可以跳到开头,启动视觉模式,跳到结尾: ggVG TLDR:如果要将Vim中的文本复制到系统剪贴板,请键入ggVG“*y。下面的说明 Vim在终端中运行,根据您使用它的方式和运行的Vim类型,它不是真正为您设计的,您可以用鼠标选择文本并以传统方式复制和粘贴 如果要使用Vim选择所有

我想从vim编辑器中选择所有文本,我尝试了命令
:%y+
,但得到错误
E850:无效的寄存器名
。我从你那里得到这个命令。请帮助我如何从vim中打开的文件中复制所有文本。他们正在使用yank,这是什么意思..

选择整个文件,您可以跳到开头,启动视觉模式,跳到结尾:

ggVG


TLDR:如果要将Vim中的文本复制到系统剪贴板,请键入ggVG“*y。下面的说明

Vim在终端中运行,根据您使用它的方式和运行的Vim类型,它不是真正为您设计的,您可以用鼠标选择文本并以传统方式复制和粘贴

如果要使用Vim选择所有文本,则使用ggVGy(注意中间的大写VG)。此命令将光标移动到文件顶部,进入视觉模式,移动到文件底部(因此,选择所有文本),然后将其拖动(复制)。然后可以使用p来放置(粘贴)此代码,但只能在Vim内部

如果要复制到剪贴板以在Vim之外的某个地方使用,请尝试以下操作:

首先,使用上面列出的命令选择所有内容,但不包括最后的y:(ggVG)。然后按“*y”。现在应该将它复制到操作系统的剪贴板上,您可以在Vim之外的任何地方粘贴(Ctrl/Cmd+v)。这可能因Vim的设置而异,但它应该可以工作


对所用命令的简要说明。gg转到文件的顶部。V通过线条进入视觉模式。G转到文件的末尾。y拖动(复制)文本,但不复制到剪贴板。p放置(粘贴)文本

更高级(即酷)的东西:

“允许您访问寄存器。例如”a提供对寄存器a的访问


*
是系统剪贴板,因此,
“*
提供对系统键盘的访问。因此,
”*y
猛拉到系统剪贴板

虽然有一个关于如何在vim中使用的很好的解释,但听起来你只是在让vim访问剪贴板时遇到了麻烦。尝试安装vim gnome,它会为您提供进入系统剪贴板所需的软件包


出于某种原因,“*对我不起作用,但与“+寄存器完全相同的命令起作用。

我遇到了类似的问题。我不知道你为什么投了这么多反对票。 问题是您尚未安装
vim gnome
,它需要大约24 MB的内存,并为内置的vim添加了一个功能

sudo apt-get install vim-gnome

那你的命令就行了<代码>:%y+此命令将复制系统剪贴板中的所有文本。

此问题已经存在几年了,但我在Linux Mint 18上遇到了同样的问题。我发现使用
xclip
对我很有效。您可以映射命令
vmap:!xclip-sel c
在.vimrc中,将当前选择的视觉模式复制到系统剪贴板

是包含上述(和其他)解决方案的线程。

您可以使用

VGY/VGY或

VGy/VGy

要直观地选择任意数量的文本,然后复制它,在您的情况下,它是gg/G,因为您希望文件中的所有文本

gg是在光标位于文件底部时进行复制,gg是“转到顶部”

G将在光标位于文件顶部时进行复制

甚至你也可以随时使用

Vk(作为时间数)y复制选定的文本行


要选择或搜索文本?需要使用图形Vim,如MacVim或gVim,或使用
+xterm_剪贴板编译的终端Vim
(请参见
Vim--version
),才能使用
+
寄存器。你到底想做什么?试试nano而不是Vim。你真的想做什么?当您说要“选择”文本时,您使用的是“yank”(即“copy”)命令,但随后您询问如何“搜索”文本。这是三个不同的任务!好的,这澄清了一件事。但是,为什么需要从命令行进行可视化选择?你想用这个选项做什么?很好的答案ggVG“*y从这是正确的答案,谢谢!这么多人说要使用
*
+
忘记了一个事实,没有这个,这些寄存器只会发出嘟嘟声或说
无效的寄存器名
。很好的答案。要复制所有行,它是
%y+