终端输出的动态文本换行

终端输出的动态文本换行

我特别寻找的是输出的动态格式化。在我记得在 Linux 中使用过的每个终端模拟器中,当某些程序打印到屏幕上时,输出会被格式化以适合终端窗口,以便较长的行会环绕。如果我随后更改窗口的宽度,则先前的环绕格式仍然保留。

在 OSX 上,Terminal.app 的行为有所不同。文本的格式仍然适合当前窗口大小,就像在 Linux 终端模拟器上一样。但是,如果我重新调整窗口大小,文本会自动重新格式化以匹配新尺寸。

当运行实用程序后,我意识到我没有使窗口足够宽以清楚地显示所有输出时,这非常有用。在运行速度特别慢的实用程序上,需要重新运行所有内容才能获得更好的格式可能会令人沮丧。我可以将输出重定向到诸如less,view或 之类的程序gview。然而,每次我运行一个实用程序时,这感觉就像是太多的工作要做可能无法很好地适应当前窗口尺寸。另外,据我所知less不支持 bash 风格的文本着色。

有谁知道有这种行为的 Linux 终端模拟器吗?它不需要是开箱即用的行为;我愿意通过配置设置来实现这样的功能。我已经研究过 Linux 上的许多终端模拟器,看看它们是否支持这一点,但我真的没有时间尝试每一个。实在是太多了!如果确实不存在执行此操作的程序,是否是因为没有人试图创建此行为? Linux 是否有一些特定的技术限制不允许这样做(不明白为什么会出现这种情况)?

答案1

在跟踪问题评论中@Braiam 的评论中的链接后,我似乎找到了至少一种替代方案。

rxvt-unicode(有时根据其实用程序名称称为 urxvt)具有此功能。然而,作为 X 的轻量级终端,与 Gnome 终端等替代品相比,它的默认 UI 功能似乎相对较少。另外,作为一个 X 实用程序,它的外观通常是四四方方的,不适合大多数桌面环境的默认主题,例如 gnome、kde、xfce 等。

相关内容