我如何轻松地复制GNU屏幕滚动缓冲区到一个文件?也就是说,“硬拷贝”命令的更强大版本?

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

然而,这很乏味。是否有一个Screen命令可以简单地将滚动缓冲区复制到文件中,就像“硬拷贝”用于屏幕的可见部分一样?


当前回答

TL博士:桶A:writebuf <filename>

OP似乎想要一种方法来使用你在执行^ a[,选择使用空格作为开始和结束的文本时得到的缓冲区的选定部分,然后不是使用^ a]来粘贴,而是将结果缓冲区的选定部分保存到文件中。

这工作:

^: writebuf <文件名>

注意:writebuf中有一个f

其他回答

尝试硬拷贝-h来包含整个缓冲区。

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

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

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

Ctrl + A和: 然后进入命令模式

hardcopy -h <filename>

在旧版本的screen中,如果你只是硬拷贝-h,它只会写入文件-h。这在4.2.0版本中得到了修复,因此hardcopy -h会写入hardcopy。N,其中N是当前窗口号。

TL博士:桶A:writebuf <filename>

OP似乎想要一种方法来使用你在执行^ a[,选择使用空格作为开始和结束的文本时得到的缓冲区的选定部分,然后不是使用^ a]来粘贴,而是将结果缓冲区的选定部分保存到文件中。

这工作:

^: writebuf <文件名>

注意:writebuf中有一个f

Ctrl + A,:,并发出'log on'命令。

或者在你的.screenrc文件中将其设置为默认的“deflog on”。