我试图弄清楚如何在 PuTTY(不涉及 xterm)中获取 vim 以与 Windows 剪贴板交互。
到目前为止,我的研究表明这是不可能的。xterm 具有剪贴板交互终端转义序列,但默认情况下它们在 xterm 中被禁用。它们可能根本没有在 PuTTY 中实现。这可能是出于安全原因:您不希望远程系统完全访问您的剪贴板。
无论如何,我不确定这是否是 vim 的xterm_clipboard
功能应该使用的。到目前为止,我的搜索只发现人们抱怨它没有被启用,或者谈论如何获得一个启用它的 vim,而不是它是如何实际实现的。我发现的最好的是this guide它提到了它,但没有说任何可以将其固定为转义序列与X选择与X剪贴板的内容。(是的,X11 有一个选择和一个单独的剪贴板。一些复制方法只设置一个或另一个。)
Vim 的剪贴板支持直接与 X 服务器对话。在 Linux 桌面上,在终端中使用 vim(在我的情况下为 Konsole):"*dd
确实会将行放入剪贴板。
和
(unset DISPLAY; strace -s256 -o /dev/pts/18 vim some_file.txt)
vim 没有可与之通信的 X 服务器。(pts18
是另一个终端窗口的 tty。)我认为 vim 可能会使用xterm 转义序列来设置剪贴板,但事实并非如此。整个区域没有write(1, ...)
系统调用,因此显然没有尝试使用转义序列通过 xterm 将该区域放入剪贴板。
我TERM=xterm
在 Ubuntu 15.04 上的 Konsole 中运行了它。我也试过里面真实的xterm
。
哦,xtermGetSelection/SetSelection
默认禁用。也许启用此功能后,vim 会尝试使用它?但是,IDK 如果这有帮助,因为 PuTTY 也必须支持它,这是不太可能的。