如何从read-eval-print-loop复制到vim中的剪贴板?

时间:2014-07-04 00:52:06

标签: vim

所以我知道Copy all the lines to clipboard,但这仅适用于编辑器中的内容。

如何从vim命令行复制内容?

2 个答案:

答案 0 :(得分:2)

在正常模式下按q:或在输入命令时按<c-f>会显示命令行窗口,其中包含您的命令历史记录。这只是另一个窗口,因此您可以使用"*y运算符,如链接问题中所述。

答案 1 :(得分:1)

我在&#34;分享是关怀&#34;我的vimrc部分:

command! CMD let @+ = ':' . @:

它只是将命令行中执行的最后一个命令放入剪贴板寄存器,准备在其他地方粘贴。

说明:

  • 最后一个命令始终保存在":寄存器中,它是少数只读寄存器之一。

  • "+寄存器代表您系统的剪贴板,可以读取和写入。

  • 使用寄存器内容的语法是:

    :let my_variable = @a    " put the content of register "a in my_variable
    :let @a = my_variable    " put the content of my_variable in register "a
    
  • 所以我们可以把一个寄存器的内容放到另一个寄存器中(不是只读的):

    :let @a = @b
    
  • 在VimScript中,字符串连接是使用.

    完成的
    :let foo = "foo"
    :let bar = "bar"
    :echo foo . bar
    foobar
    
  • 因为寄存器是字符串,所以在将它们的值放入某个变量或寄存器之前,我们可以对它们进行各种操作:

    :let @a = "foo"
    :let @b = @a . "bar"
    :echo @b
    foobar
    
  • 在我的命令中,为了清楚起见,我在":寄存器前面添加了一个冒号:

    :let @+ = ':' . @: