据我所知,没有任何方法可以在不使用鼠标的情况下将选定的区域从putty窗口复制到Windows剪贴板。 html ](http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy.html)
要用键盘快捷键将信息复制到Windows剪贴板上,唯一的方法是使用应用程序的系统菜单 “copy all to clipboard"(你可以从alt-space中调用,前提是你在putty中设置了 "Window 窗口>行为>系统菜单出现在alt-space上 "选项。
如果你只需要在终端窗口中复制和粘贴,请参考你所使用的shell的man page,或者考虑使用unix的 "screen "应用程序("man screen "了解更多信息),它允许在终端窗口中选择文本进行复制/粘贴(类似于vi的复制/粘贴)。
要解决这个问题,请在Windows控制台中运行PuTTY,如ConEmu或SuperPutty。
我用的是GNU screen,
我的screenrc里也有这样的,可以很好地玩vim:
register [ "&00133:se paste&00115a"
register ] "&00133:se nopaste&00115a&00133"
bind ^] paste [.]
我的一个朋友在screen里有一个钩子,可以把 “屏幕剪贴板 "复制到x剪贴板中的一个或两个剪贴板(选区或剪贴板),我相信putty可以完成需要的翻译。
你大概可以用xclip安排同样的事情,你要找的咒语应该是用xclip -selection clipboard
我赶紧测试一下,看看xclip -selection clipboard -o
是否能把你的剪贴板的内容吐出来。
另一个有点临时起意的建议是在Windows中激活鼠标键。在Windows 7中,它在 “轻松访问中心 "下。点击 "让鼠标更容易使用” 2. 勾选 “打开鼠标键 "的复选框。 3.
3.点击 "设置鼠标键 "进行额外的设置。
默认的鼠标键热键是Alt + Shift + NumLock。我相信在numpad上按0键会开始点击锁定,让你拖动你要高亮/复制的文字部分。
工作了一段时间了,Putty本身不能让你只用剪贴板复制。
不过,Putty可以促进远程端数据的反向传输。如果你用Vim或Tmux这样的工具来做基于键盘的文本选择,你可以把输出转储到一个文件中,然后(我自己在这里说一下)netcat到一个Putty的反向端口隧道,把输入转储到本地的剪贴板上。https://www.youtube.com/watch?v=RI79eeCuyvE , 但以下是简短的版本:
设置你的putty ⁄ connection ⁄ SSH ⁄ tunnels 将R11311转发到localhost:1234 使用netcat作为监听服务器,将输出管道输出到windows 10 clip命令,将输入发送到windows剪贴板。用一个永恒的for循环将其包起来,就像这样:
for /L %N IN () do nc -lp 1234 | clip
在你以管理员身份运行的命令提示符中运行上面的命令,因为你要绑定到一个端口。
tmux save-buffer ~/.clipboard
或者,你可以使用Vim将一个缓冲区(在本例中,z)保存到一个文件中
silent! redir! > ~/.clipboard
silent! echo @z
silent! redir END
我将vim和tmux剪贴板集成在一起,使用.NET的中间件来整合vim和tmux剪贴板文件。 剪贴板文件作为中介,使用vim函数 gist 。
一旦你的文本选择在文件中,你可以将输出管到远程端的端口转发:
cat ~/.clipboard | nc 127.0.0.1 11311
或者在vim脚本中
silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &
注意,这个安培生是必要的,因为我不能让netcat的-q 0
标志正常工作。也许你可以。如果没有它,它会在关闭前等待一秒钟,这可能会破坏你的工作流程。如果用安培生符号,它就会立即放弃这个过程,在后台1秒内完成。
做好以上所有的事情,就可以完全整合Tmux、Vim和本地的putty客户端剪贴板,不需要动鼠标就能完成!这是我唯一的方法。这是我能找到的唯一方法。
如果你是在windows机器上,它可以正常工作,但如果是基于linux的机器,有时就不能工作了。要使它工作,只需在任何文本编辑器上复制内容,然后在你想粘贴的地方用Shift + Insert键。