我需要将大型日志文件中的所有文本复制到剪贴板。我有一个到Linux的远程连接,只使用控制台终端。我想要的是Select all -> Copy
。
在emacs中,我使用了F10 -> Edit -> Select All, and then F10 again -> Edit -> Copy
。但它没有进入我的剪贴板,无法将其粘贴到我的本地Windows实例中(这与屏幕上显示的内容一起工作正常;没有滚动)。
在nano或emacs中有更好的方法吗?
干杯
答案 0 :(得分:4)
Emacs的功能非常缺乏,可以让您的生活更轻松。实际上,您可以通过ssh远程打开文件,就像本地文件一样容易,而且开销很小。因此,只要您可以从本地emacs复制到剪贴板,就可以做到所需。
要远程打开文件,只需像往常一样点击C-x C-f。但是你想要的文件就像是
/ssh:otherserver.some.org:/path/to/file.log
其中otherserver.some.org
被实际服务器名称替换,/path/to/file.log
是您的实际路径。第一次连接后,选项卡完成也可以。编辑与本地文件(包括复制)的工作方式完全相同,但保存时,文件将通过ssh复制回远程文件。
此工具名为“TRAMP”,因此将在名称中包含“tramp”的隐藏缓冲区。另请注意,tramp可以使用several other methods连接到文件,例如Windows的plink
和su
以另一个用户编辑文件。
此处讨论了您的问题的其他选项: Getting Items on the Local Clipboard from a Remote SSH Session,或者甚至在这里: http://winscp.net/eng/docs/task_edit
答案 1 :(得分:-1)
如果你只有一个终端会话,那么在Linux端运行的emacs,nano或任何其他程序都无法将文本发送到Windows剪贴板。
您的选择是通过X11或VNC连接,在这种情况下,可以在Windows和Linux程序之间共享剪贴板,或通过其他方式复制文件。
如果您通过ssh登录,则可以在Windows命令shell中运行ssh thelinuxmachine cat /the/log/file/locatioin > logfile.txt
。使用scp客户端(例如http://winscp.net/)连接到linux机器可能也有效。