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

时间:2011-04-03 22:08:11

标签: vi

我知道如何在VI中复制。但我没有把它复制到其他应用程序中。这意味着我没有将这些复制到剪贴板中。 我怎么能这样做?

P.S。为了更多精益求精。我还想问一下如何将内容从剪贴板复制到vi。

编辑: 我正在使用MacOs。运行Vim。

似乎* yy在这里不起作用。还有其他方法吗?

4 个答案:

答案 0 :(得分:33)

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

"*yy

从剪贴板粘贴一行文字:

 "*p

答案 1 :(得分:17)

仅当您的vim支持xterm_clipboard时,

"+y"*y才有效。 Xterm是X11的终端仿真器。试试vim --version是否支持。如果您看到+xterm_clipboard它应该有用,如果您看到-xterm_clipboard则不会。现在有许多Linux版本仍然在其存储库中停用了xterm_clipboard支持。然后通过剪贴板Yanking是不可能的。请注意,您仍然具有良好的旧的unix样式的yank / paste,即选择要拖动的文本,然后在要粘贴的鼠标上单击鼠标中键。这应该始终有效,并且是vim中首选的yank / paste样式。确保处于插入模式并键入set paste,如果它拧紧了缩进。 set nopaste保留粘贴模式。

要使用xterm_clipboard获取vim,只需下载源代码,然后创建./configure --with-x,然后创建make。现在vim应该支持xterm_clipboard并且yanking和粘贴也应该从剪贴板中完美地工作。

答案 2 :(得分:5)

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

"会将其放入+注册表中。

甚至超过你想知道的: http://vim.wikia.com/wiki/Accessing_the_system_clipboard

答案 3 :(得分:2)

vi的副本在vi自己的内部剪贴板中完成,因为它来自unix命令行,而windows样式剪贴板不存在。后来出现了命令行的鼠标指针,这意味着您可以使用它作为更像窗口样式进行复制,但如果要从vi复制到Windows剪贴板,则需要使用* yy和* p,而不是yy和p vi中的内部剪贴板(这也是为什么yanking和粘贴不会影响你的Windows剪贴板)