获取 TMux 滚动缓冲区内容

获取 TMux 滚动缓冲区内容

使用 TMux,有没有办法以编程方式从当前命令行上方检索滚动缓冲区内容?

我基本上希望编写一个 bash 脚本来向上迭代,直到找到匹配的字符串。需要明确的是,我不想查看键入命令的历史记录;我想查看控制台上出现的所有内容。

答案1

多路复用器1.5(及更高版本),您可以为访问向后滚动缓冲区-S的选项指定负数。capture-pane

例子:

  • 捕获(最多)32768 行向后滚动缓冲区以及窗格的当前文本:

    tmux capture-pane -pS -32768
    
  • 仅捕获最近“滚动关闭”的第十行:

    tmux capture-pane -pS -10 -E -10
    
  • 捕获(最多)100 个最近“滚动关闭”的行:

    tmux capture-pane -pS -100 -E -1
    
  • 捕获横跨窗格当前顶行的 11 行(5 条“滚动关闭”行,以及窗格的顶 6 行):

    tmux capture-pane -pS -5 -E 5
    

注意:与大多数多路复用器-t如果“当前”窗格不是您有兴趣探测的窗格,您可以使用命令来定位特定窗格。


上面的示例还使用了-p选项 to capture-pane,该选项仅在开始时可用多路复用器1.8.对于旧版本,您可以使用以下方法解决没有它的问题save-buffer

tmux capture-pane -S -32768 \; save-buffer - \; delete-buffer

相关内容