假设我有大量的日志输出或者我想要密切关注的东西,以便能够同时查看尽可能多的输出。
我有很多屏幕空间,为了更好地利用它,我希望能够设置一个特殊的缓冲区来垂直包装终端输出,所以它看起来像一个列布局(如书或网页)。
通过这种方式,我可以将整个宽屏显示器专用于三列输出,它们可以同时显示来自同一流的正常垂直输出的三倍。我认为这是 tmux 可以很好地支持的东西,尽管由于移动文本的分裂性质,它可能会稍微增加网络流量的负载。
最好的情况是 tmux 已经通过某个选项支持此功能,但如果没有,也许可以编写脚本!是否可以以编程方式“检索”特定窗格的 tmux 历史缓冲区的内容?我反对需要tmux
在每个传入的输出行上调用的脚本,但对于慢速输出日志来说仍然值得。
也许这甚至不是需要 tmux 的东西,也许这是寻呼程序的功能空间内的东西。Vim 可能无法处理它,因为我需要它来支持 ANSI 颜色代码显示(Vim 不能很好地显示)。
这里的动机是更好地利用水平空间。在某种程度上,它是将寻呼程序的功能扩展到第二维。如果我可以简单地购买更多显示器,以便能够同时查看更多数据,而无需操纵我的软件来显示我数据的不同部分,那么我可以通过减少我一直做的所有滚动来提高工作效率。
来回查看 >> 设置窗格并滚动两个缓冲区以便来回查看 >> 在单个缓冲区中来回滚动
无操作>> 开始操作一次>> 每次迭代操作
更多的思考:我只是想到了一个巧妙的想法来快速构建这个功能,如果我能想出一种方法来设置一个寻呼机(甚至只是cat
, 真的)显示最后一页(这是一个对输出不做任何事情的小例子),显示倒数第二页,显示倒数第三页等。这些可以在一组 tmux 窗格中组合在一起. 那么,当新行出现时,所有这些视图都会向上滚动,我们会产生一种错觉,即它们都是单个缓冲区的连续显示,即使它不是。所以这将是一个基于 tmux 的 hack,谢天谢地,它不需要对每个新行进行某种 tmux 调用...... tmux 让我们可以查询窗格的高度,以便我们可以确定在每个缓冲区中显示哪个“部分”。如果可以使缓冲区同步滚动浏览它们的历史,那么也可以滚动整个“列”集。