如何从Vim命令行复制文本

时间:2019-05-10 08:51:06

标签: vim

此处here询问了如何粘贴到vims命令行中。 但是如何从vim命令行复制?

例如:

:python导入系统;打印(sys.executable)

现在我想将该行复制到剪贴板,以便将其粘贴到其他编辑器中。

3 个答案:

答案 0 :(得分:2)

您可以将另一个寄存器的内容分配给一个寄存器:

:let @+ = @:

将在系统剪贴板(@+)中分配最后执行的:命令(@:)。

但是,这将成为您最后执行的命令。如果要将python命令保留为最后一条,可以执行以下操作:

首先打开命令历史记录:

q:

转到要复制的命令行,然后将其拉到系统寄存器中(可视地选择整行并拉它):

"+yy

这将复制整个行,并在末尾添加新行字符,如果您只希望命令不包含新行,则可以执行以下操作:

v$h"+y

最后,关闭命令历史记录:

:q

答案 1 :(得分:2)

是的,有可能。

如果执行了命令:foo,则命令文本行将存储在寄存器:中,您可以通过:echo @:看到它。

要在剪贴板中保存这些值,只需让+寄存器具有相同的值即可。

因此:let @+=@:call setreg('+',@:)应该可以为您提供帮助。

答案 2 :(得分:1)

q:打开命令行窗口,其中充满了命令行历史记录,您可以通过"+yy复制。