Answers:
从腻子手册中:
PuTTY的复制和粘贴完全可以使用鼠标进行。为了将文本复制到剪贴板,只需在终端窗口中单击鼠标左键,然后拖动以选择文本。松开按钮时,文本将自动复制到剪贴板。您无需按Ctrl- C或Ctrl-键Ins;实际上,如果您确实按Ctrl- C,那么PuTTY会在会话中向服务器发送Ctrl- C字符,这可能会导致进程中断。
据我所知,如果不使用鼠标,就无法将腻子窗口中的选定区域复制到Windows剪贴板中。在腻子网站上有专门针对此功能的功能请求。
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy.html
使用键盘快捷键将信息从腻子窗口复制到Windows剪贴板的唯一方法是使用应用程序系统菜单“全部复制到剪贴板”(您可以在alt-space中调用,前提是您设置了“窗口>行为>系统菜单显示在腻子中配置的“ ALT-Space”选项上。
从Windows剪贴板粘贴到腻子中可以使用Shift- 完成Insert。
如果您只需要在终端窗口本身内复制和粘贴,请参考所用外壳的手册页,或考虑使用unix“屏幕”应用程序(有关更多信息,请参见“ man屏幕”),该菜单允许选择文本在终端窗口中进行复制/粘贴(类似于vi的复制/粘贴的工作方式)。手册页摘录:
C-a esc (copy) Enter copy/scrollback mode.
C-a ] (paste .) Write the contents of the paste buffer to the
stdin queue of the current window.
C-a {
C-a } (history) Copy and paste a previous (command) line.
C-a > (writebuf) Write paste buffer to a file.
C-a < (readbuf) Reads the screen-exchange file into the paste
buffer.
C-a = (removebuf) Removes the file used by C-a < and C-a >.
control+ insert=复制
shift+ insert=粘贴
control
+ insert
似乎什么也没做。shift
+ insert
确实会粘贴。
要变通解决此问题,在Windows控制台替换中运行PuTTY,例如ConEmu或SuperPutty。
我使用GNU屏幕,
我的screenrc中也有此代码,可以与vim很好地玩:
register [ "\033:se paste\015a"
register ] "\033:se nopaste\015a\033"
bind ^] paste [.]
我的一个朋友在屏幕上有一个勾子,可以将“屏幕剪贴板”复制到x剪贴板中的一个或两个(选择或剪贴板)中,我相信腻子可以完成所需的翻译。我会尝试将其挖掘出来。
您可能可以使用xclip安排同一件事,您要使用的咒语应该使用 xclip -selection clipboard
我会快速测试,看看是否xclip -selection clipboard -o
吐出了剪贴板中的内容。
xclip
应该有效。我使用tmux
并xsel
使用键盘从Puty复制内容。.我还没有弄清楚如何使用键盘将其粘贴到Windows终端中
这可能是解决方法,而不是解决方案。
在vim中,如果要复制在可视模式下选择的块(通常是一个跨多个页面的块),则可以将其写入文件(通过:w filename.txt
在选中文本时以及仍在可视模式下键入内容) )。完成此操作后,您可以:
通过电子邮件将文件作为附件发送(请参见下面的命令-需要Mutt):
echo "My Message Body" | mutt -s "my subject line" -a filename.txt -- recipient@email-server.com
我个人更喜欢选项1。
我已经厌倦了通过鼠标左键逐行向下滚动以复制会话输出。但是现在,我需要两次单击中间按钮;首先在开头,第二在结尾。我是怎么做的:
经过一段时间的努力,Putty本身不能让您仅使用剪贴板进行复制。
但是,腻子可以促进从远端反向传输数据。如果您使用Vim或Tmux之类的工具来进行基于键盘的文本选择,则可以将输出转储到文件中,并将netcat(在此约会)将油灰反向端口隧道连接到本地服务,该服务将输入转储到本地剪贴板。
我在此处制作了有关如何执行此操作的视频:https : //www.youtube.com/watch?v=RI79eeCuyvE,但这是简短的版本:
设置您的腻子>连接> SSH>隧道以将R11311转发到localhost:1234使用netcat作为侦听服务器,将输出管道传输到Windows 10 clip命令,该命令将输入发送到Windows剪贴板。将其包装在永恒的for循环中,如下所示:
for /L %N IN () do nc -lp 1234 | clip
在您以管理员身份运行的命令提示符中运行以上命令,因为您是在竞标一个端口。
在远程* nix服务器上,您需要使用vim或Tmux将文本选择发送到文件。
使用命令将文本选择发送到文件
tmux save-buffer ~/.clipboard
或者,您可以使用Vim将缓冲区(在这种情况下为z)保存到文件中
silent! redir! > ~/.clipboard
silent! echo @z
silent! redir END
我使用.clipboard文件集成了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和本地腻子客户端剪贴板,而无需触摸鼠标!这是我可以找到的唯一方法。
如果您使用的是Windows计算机,则可以正常使用,但是如果基于Linux的计算机有时无法使用,则可以使用。要使其工作,只需在任何文本编辑器上复制内容,然后在要粘贴的行上使用Shift +插入键即可。
希望这会有所帮助!