获取TMux滚动缓冲区内容


13

使用TMux,是否可以通过编程方式从当前命令行上方检索滚动缓冲区内容?

我基本上是想写一个bash脚本向上迭代,直到找到匹配的字符串。需要明确的是,我不想浏览键入命令的历史。我想浏览控制台上显示的所有内容。

Answers:


21

tmux 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
    

注意:与大多数tmux命令一样,-t如果“当前”窗格不是您要探测的窗格,则可以用于定位特定的窗格。


上面的示例还使用的-p选项capture-pane,仅从tmux 1.8 开始可用。对于较旧的版本,您可以使用以下方法来解决save-buffer

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

太好了,在任何窗格上运行它都比期望的要好。
mahemoff 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.