Отримайте вміст буфера прокрутки TMux


13

Що стосується TMux, чи є можливість програмно отримати вміст буфера прокрутки вище поточного командного рядка?

Я в основному шукаю написати скрипт bash, щоб повторити вгору, поки не знайду відповідний рядок. Щоб було зрозуміло, я не хочу переглядати історію введених команд; Я хочу пройти все, що з’явилося на консолі.

Відповіді:


22

З 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
    
  • Захопіть одинадцять ліній, які стримують поточну верхню лінію панелі (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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.