how to copy codes in vi to clipboard
我知道如何在vi中复制,但我没有将它复制到其他应用程序中。这意味着我无法将它们复制到剪贴板中。我该怎么做?
P.S.为了更加倾斜。我还想问一下如何将内容从剪贴板复制到vi。
编辑:我用的是MacOS。运行VIM。
好像你在这里不工作。还有别的办法吗?
- 如果你在MacOS上,你试过MacVim吗?它是一个非常好的VIM端口,允许您使用标准的CMND+C、CMND+V作为剪贴板,因为CMND键不会以任何方式干扰VIM。麦克维姆几乎是我最喜欢的编辑:)
- 谢谢你,Matt。我会尝试
您需要使用剪贴板寄存器,即*,以便将一行文本复制到剪贴板中:
要从剪贴板粘贴一行文本:
- 好吧!谢谢你,Matt!
- 这适用于vi,但不适用于libre office或记事本。如果vi将其放在缓冲区中,这是否适用于任何应用程序?
- 是的,*缓冲区是系统范围的,它与ctrl-c和ctrl-v使用的缓冲区相同。您使用的是vim还是普通的旧vi?
- 不好意思,我试过这个方法,当你的文件在你的系统中时,这个方法是有效的,但是当你使用一台远程机器时,它就不起作用了。你有没有比scp更容易的办法?
只有当您的VIM支持xterm_剪贴板时,"+y或"*y才有效。Xterm是用于x11的终端仿真器。试试vim --version看看是否支持。如果你看到+xterm_clipboard,它应该会工作,如果你看到-xterm_clipboard,它不会工作。现在有许多Linux风格,它们的存储库中仍然停用了xterm剪贴板支持。通过剪贴板进行拉拽是不可能的。请注意,您仍然具有良好的传统Unix风格的Yank/Paste,即选择要Yank的文本,然后在要粘贴的鼠标上单击鼠标中键。这应该始终有效,并且是VIM中扬克/粘贴的首选样式。如果压印不好,一定要在插入模式下键入set paste。set 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剪贴板的原因)。