Linux emacs / nano:如何select大文件中的所有文本行并进行复制

我需要将大日志文件中的所有文本复制到剪贴板。 我有一个到Linux的远程连接,只能使用控制台terminal。 我想要的是像全Select all -> Copy

emacs中,我使用F10 -> Edit -> Select All, and then F10 again -> Edit -> Copy 。 但它没有去我的剪贴板,无法将其粘贴到我的本地窗口实例(这与工作正常,在屏幕上显示的内容,没有滚动)。

nano或emacs有更好的方法吗?

干杯

Emacs有一个非常不被公开的能力,可以让你的生活更轻松。 实际上你可以通过ssh远程打开文件,就像本地文件一样容易,而且开销很小。 所以只要你可以从你的本地emacs复制到剪贴板,你可以做你所需要的。

要远程打开文件,只需像往常一样点击Cx Cf即可。 但是你想要的文件是类似的

 /ssh:otherserver.some.org:/path/to/file.log 

其中otherserver.some.org被替换为实际的服务器名称, /path/to/file.log otherserver.some.org是您的实际路径。 第一次连接之后,选项卡完成也起作用。 编辑与本地文件(包括复制)完全相同,除了保存时,文件通过ssh被复制回远程。

这个设施被称为“ TRAMP ”,所以会有隐藏的缓冲区,名字中有“tramp”。 另外请注意,流浪汉可以使用其他几种方法来连接文件,例如Windows的plink ,然后用其他用户编辑文件。

在这里讨论您的问题的其他选项: 从远程SSH会话获取本地剪贴板上的项目 ,或者甚至在这里: http : //winscp.net/eng/docs/task_edit 。

如果您只有一个终端会话,那么在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机器可能也会起作用。