![在 Windows 下的 Putty 屏幕中从 VIM 复制](https://linux22.com/image/1331751/%E5%9C%A8%20Windows%20%E4%B8%8B%E7%9A%84%20Putty%20%E5%B1%8F%E5%B9%95%E4%B8%AD%E4%BB%8E%20VIM%20%E5%A4%8D%E5%88%B6.png)
无论如何,我可以从 Windows 剪贴板中的 Vim 获取文本吗?
我的会话通常通过 PuTTY 进行,并且几乎总是在 gnu 屏幕上进行
如果使用:set mouse=vi 可以突出显示某些行,并且它们出现在 Windows 的剪贴板中。
但对于较长的文本,选择全部文本并拖动它不会"+
产生任何效果。
答案1
复制是 Vim 本身的一个功能,默认情况下仅适用于该过程。如果您希望复制操作利用剪贴板,则必须使用“*y(当前选择)或“+y(真实剪贴板),如 Vim 帮助的 04.7 和 09.3 节中所述。在 Vim 中使用以下命令查找:
:help 04.7
:help 09.3
然而,PuTTY 无法访问您所连接的机器的剪贴板。
一个快速的解决方法是使用猫命令,而不是在屏幕会话中,然后在 PuTTY 中选择文本,PuTTY 会自动复制该文本。在屏幕会话之外执行此操作可确保您可以向上滚动并获取所有文本。
答案2
找到这个补丁,它将重定向打印输出( escape\e''[5i
和内的任何文本\e''[4i
)到 Windows 剪贴板(例如在 bash 中打印“测试” echo -ne '\e''[5itest\e''[4i'
)
http://ericmason.net/putty/putty-0.60-clip.patch
如果我能找到一个将文本发送到剪贴板而不是打印的 Windows 打印机驱动程序,那么 Putty 就可以不加修改地使用,只需编辑终端 > 远程控制打印 > 选择您的假打印驱动程序
然后我只需要一个宏来回显转义代码和缓冲区内容。