将GNU屏幕回滚缓冲区复制到文件(扩展的硬拷贝)

问题描述 投票:182回答:7

如何轻松地将GNU屏幕回滚缓冲区复制到文件?也就是说,“硬拷贝”命令的功能更强大吗?

在GNU屏幕中,我可以使用“ Ctrl + A Esc”进入滚动缓冲。然后,我可以标记整个缓冲区并使用“ Ctrl + A Ctrl + ]”将其粘贴到Emacs缓冲区中,从而将其保存到文件中。

但是,这很乏味。是否有一个Screen命令可以简单地将回滚缓冲区复制到一个文件中,就像'hardcopy'可以复制屏幕的可见部分一样?]

keyboard-shortcuts gnu-screen
7个回答
279
投票

要将回滚缓冲区的全部内容写入文件,请键入

Ctrl + A进入命令模式,然后

hardcopy -h <filename>

screen的旧版本中,如果只执行hardcopy -h,它将仅写入文件-h。此问题在版本4.2.0中已修复,因此hardcopy -h写入hardcopy.N,其中N是当前窗口号。


24
投票

Ctrl + A :bufferfile /tmp/somefile.txt ENTER,然后Ctrl + A >

这会将缓冲区的当前内容写入命名文件。


12
投票

TL; DR:^A:writebuf <filename>

OP似乎希望使用一种方法来使用您在进行^ A [时获得的缓冲区的选定部分,使用空格作为开始和结束位置来选择文本,然后使用^ A]进行粘贴,然后保存所得的选定部分缓冲区到文件。

我知道已经发布多年了,但是我一直在寻找相同问题的答案,并最终找到:

^A:writebuf <filename>

注意:writebuf中有一个'f'


6
投票

尝试hardcopy -h包括整个缓冲区。


3
投票

这对我有用:

进入编辑模式(~)并输入:

:hardcopy -h buff_file

它创建了一个巨大的文件,其中98%是空的,但剩下的2%中我的日志完全存在。


-2
投票

Ctrl


-3
投票

Ctrl-A h

© www.soinside.com 2019 - 2024. All rights reserved.