我知道如何在VI中复制。但我没有把它复制到其他应用程序中。这意味着我没有将这些复制到剪贴板中。 我怎么能这样做?
P.S。为了更多精益求精。我还想问一下如何将内容从剪贴板复制到vi。
编辑: 我正在使用MacOs。运行Vim。
似乎* yy在这里不起作用。还有其他方法吗?
答案 0 :(得分:33)
您需要使用剪贴板寄存器*
,以便将一行文本复制到剪贴板中:
"*yy
从剪贴板粘贴一行文字:
"*p
答案 1 :(得分:17)
"+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剪贴板)