复制并粘贴GVIM实例

时间:2014-02-04 23:47:51

标签: vim vi

我一直试图找出如何在vim / gvim的实例之间复制和粘贴,但却找不到答案。我在Linux中打开了两个不同的gvim窗口,我正在尝试在这两个窗口之间进行复制和粘贴。我知道你可以在一个gvim窗口的选项卡中执行此操作,但我在两个单独的窗口中找不到任何内容。

我试图将它从一个窗口中拉出并粘贴到另一个窗口中,使用ctrl+shift+c复制它,类似ctrl+shift+v,并使用鼠标进行复制和粘贴,但无济于事。有没有办法做到这一点?

4 个答案:

答案 0 :(得分:7)

我使用系统范围的缓冲区。这是vim中的“+”:"+yy,然后是其他实例"+p

编辑:解释(有点)。

双引号后跟任何东西意味着“使用命名缓冲区而不是默认缓冲区用于下一次复制或粘贴操作”。 "+表示use "+"这是系统剪贴板(感谢其他答案,我现在知道*也很方便。)

yy表示“复制当前行” - 相当多的vim操作可以“加倍”,就像在当前行上工作一样。 dd删除一行,>>缩进一行等。

答案 1 :(得分:2)

如前面的答案所示,您可以使用链接到剪贴板的注册表,默认情况下为“*”或“+”。

另一方面,为什么需要运行多个gvim实例?您始终可以将要编辑的文件的名称“发送”到当前运行的gvim实例。在任何终端中只需键入vim --remote-silent fiename并瞧,您可以使用gvim的一个实例及其所有寄存器。

答案 2 :(得分:1)

您可以将以下内容添加到vimrc文件中(如果尚未创建,请创建一个:vim ~/.vimrc

if has("gui_running")
  vmap <C-S-x> "+x
  vmap <C-S-c> "+y
  imap <C-S-v> <Esc>"+gP
endif

现在当gvim正在运行时,当你处于插入模式时,control + shift + v将被粘贴,而control-shift-x和control-shift-c将在可视模式下剪切/复制(就像你在选择了一些文字)

答案 3 :(得分:0)

使用X11剪贴板之一:"*(PRIMARY)或"+(CLIPBOARD)。

以下是主剪贴板的示例:

要猛拉:"*y{motion}

要粘贴:"*p

有关详细说明::h quotestar:h quoteplus