Obtém o conteúdo do buffer de rolagem do TMux

11

Com o TMux, existe alguma maneira de recuperar programaticamente o conteúdo do buffer de rolagem acima da linha de comando atual?

Eu estou basicamente olhando para escrever um script para iterar para cima até encontrar uma string correspondente. Para ser claro, não quero passar pela história de comandos digitados; Eu quero passar por tudo que apareceu no console.

    
por mahemoff 20.04.2014 / 12:16

1 resposta

19

Com tmux 1.5 (e posterior), você pode fornecer números negativos para a opção -S de capture-pane para acessar o buffer de rolagem para trás.

Exemplos:

  • Capture (até) 32768 linhas do buffer de rolagem traseira junto com o texto atual do painel:

    tmux capture-pane -pS -32768
    
  • Capture apenas a décima linha "rolada":

    tmux capture-pane -pS -10 -E -10
    
  • Capture (até) as 100 linhas "roladas" mais recentes:

    tmux capture-pane -pS -100 -E -1
    
  • Capture onze linhas que abrangem a linha superior atual do painel (5 linhas "roladas para fora" e as 6 principais linhas do painel):

    tmux capture-pane -pS -5 -E 5
    

Nota: Como com a maioria dos comandos tmux , você pode usar -t para direcionar um painel específico se o painel “atual” não for o que você está interessado em sondar.

Os exemplos acima também usam a opção -p para capture-pane , que está disponível apenas em tmux 1.8. Com versões mais antigas, você poderia contorná-lo sem usar save-buffer :

tmux capture-pane -S -32768 \; save-buffer - \; delete-buffer
    
por 21.04.2014 / 08:41

Tags