如何将vi中的代码复制到剪贴板


how to copy codes in vi to clipboard

我知道如何在vi中复制,但我没有将它复制到其他应用程序中。这意味着我无法将它们复制到剪贴板中。我该怎么做?

P.S.为了更加倾斜。我还想问一下如何将内容从剪贴板复制到vi。

编辑:我用的是MacOS。运行VIM。

好像你在这里不工作。还有别的办法吗?


您需要使用剪贴板寄存器,即*,以便将一行文本复制到剪贴板中:

1
"*yy

要从剪贴板粘贴一行文本:

1
"*p


只有当您的VIM支持xterm_剪贴板时,"+y"*y才有效。Xterm是用于x11的终端仿真器。试试vim --version看看是否支持。如果你看到+xterm_clipboard,它应该会工作,如果你看到-xterm_clipboard,它不会工作。现在有许多Linux风格,它们的存储库中仍然停用了xterm剪贴板支持。通过剪贴板进行拉拽是不可能的。请注意,您仍然具有良好的传统Unix风格的Yank/Paste,即选择要Yank的文本,然后在要粘贴的鼠标上单击鼠标中键。这应该始终有效,并且是VIM中扬克/粘贴的首选样式。如果压印不好,一定要在插入模式下键入set pasteset nopaste退出粘贴模式。

要使用xterm_剪贴板获取vim,只需下载源代码,生成一个./configure --with-x,然后生成一个make。现在VIM应该支持xterm_剪贴板,并且从剪贴板上进行拉拽和粘贴也应该能够完美地工作。


1
2
"+yy or"*yy to copy to clipboard
"+p or"*p to paste from clipboard

"将把它放入+寄存器。

比你想知道的还要多:http://vim.wikia.com/wiki/accessing_the_system_clipboard


vi的复制是在vi自己的内部剪贴板中完成的,因为它是从不存在Windows样式剪贴板的Unix命令行派生而来的。后来出现了用于命令行的鼠标指针,这意味着您可以将其作为更类似于Windows的样式进行复制,但如果您想从vi复制到Windows剪贴板,则需要使用*yy和*p,而不是在vi中使用内部剪贴板的YY和P(这也是为什么拉拽和粘贴不会影响您的Windows剪贴板的原因)。