我问一个简单的问题:如何使用 vim 从文本文件复制并粘贴到剪贴板?如果我使用
yY
我可以粘贴,但只能在 vim 文件上(使用 p),在剪贴板上我无法粘贴内容。
如果我"+Y
什么都不用粘贴。如何粘贴vim复制的文件文本内容?
答案1
您可以使用"+yy
将整行复制到 clibboard,这将允许您使用 ctrl+v 将其粘贴到其他地方。您还可以进入可视模式(v
在正常模式下按)来选择要复制的确切文本。
请注意,您必须在编译标志中启用+clipboard
(如果我没记错的话,还有 python 支持)。+python
要检查此类型:
vim --version | grep clipboard
如果你读到+clipboard,你就可以开始了,否则如果它输出-clipboard,那么你需要重新编译你的vim并支持剪贴板(我必须这样做,因为在我的发行版中他们默认不启用此功能)。
另外,请考虑将您的问题发送至https://vi.stackexchange.com/,目前处于测试阶段,但可能是解决此类问题的好地方。
答案2
这将取决于的味道vim
;vim
如果没有剪贴板支持,则需要调用pbcopy
(Mac OS X)或xclip
或xsel
(在X11下)作为过滤器将文本移动到操作系统剪贴板中,例如通过:%!xsel -i -b
复制整个缓冲区。这将清除缓冲区的内容(我使用copycat
以避免擦除问题,并提供 Mac OS X 和 OpenBSD 环境之间的可移植性),因此对于大多数人来说更好的选择是使用具有vim
操作系统剪贴板支持的。