gpt4 book ai didi

bash - 如何滚动回 Ubuntu xterm 和 PuTTY 行历史缓冲区中的给定行,或仅显示一屏文本?

转载 作者:行者123 更新时间:2023-12-04 19:16:44 26 4
gpt4 key购买 nike

我使用 PuTTY 和 xterm bash 控制台来访问 Ubuntu 12.04。我有一个调用 cmake 的构建脚本并将 STDERR 连接到 STDOUT。当出现编译时错误时,控制台有时会充满错误消息页面。我只对前几条消息感兴趣,因此必须向上滚动多次才能看到它。如何在 cmake 命令之前放置某种标记(例如 ANSI 转义码)并以编程方式将缓冲区滚动回该点?

如果不可能,鉴于窗口大小是可变的,我如何将输出截断为一屏文本?我通常会使用 LINES环境变量,但不可访问,如 set显示。 man pg谈论“系统提供的行数”和pg仍然有效,那么我怎样才能获得这个值?

最佳答案

两者都没有PuTTY也不是 xterm有一种方法可以让您标记回滚区域并导致终端在屏幕顶部回滚。像许多功能一样,这将是“可行的”,但不属于正常使用。

问题的关键部分是

how can I truncate the output to exactly one screenful of text



您可以通过(暗示)某种类型的寻呼机来做到这一点。 pg太有限了,无法考虑。一些文本编辑器可以通过一些工作来做到这一点。两个 vimvile可以从标准输入读取文件;两者都有脚本语言。 (据我所知)都没有预先制作的脚本来执行此操作:
  • 读取输入文件
  • 跳回到第一条错误消息的开头
  • 将屏幕的可见部分(问题的重点)写入文件。

  • 如果没有换行,脚本会相当简单,因为 H 的操作(屏幕顶部), L (屏幕底部)和从一行复制到另一行的文本是原始 vi 的一部分.

    换行使事情变得复杂。有可能有一条比屏幕长的线。当然可以有一条较短的线绕过可见屏幕的末端。可以编写一个宏来查找屏幕的结尾并保存该数量的文本。但是没有内置功能可以简化它(例如参见 All the right moves )。这是“可行的”。

    关于bash - 如何滚动回 Ubuntu xterm 和 PuTTY 行历史缓冲区中的给定行,或仅显示一屏文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34876741/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com