Получить содержимое буфера прокрутки TMux

13

С TMux, есть ли какой-либо способ программно получить содержимое буфера прокрутки выше текущей командной строки?

Я в основном ищу сценарий bash для итерации вверх, пока не найду подходящую строку. Чтобы было ясно, я не хочу просматривать историю набранных команд; Я хочу пройтись по всему, что появилось на консоли.

mahemoff
источник

Ответы:

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
    
  • Захватите одиннадцать строк, которые охватывают текущую верхнюю линию панели (5 «прокручиваемых» строк и 6 верхних линий панели):

    tmux capture-pane -pS -5 -E 5
    

Примечание: Как и в большинстве команд tmux , вы можете использовать -tдля нацеливания на конкретную панель, если «текущая» панель не та, которую вы хотите исследовать.


В приведенных выше примерах также используется -pопция to capture-pane, которая доступна только начиная с tmux 1.8. С более старыми версиями вы можете обойтись без него, используя save-buffer:

tmux capture-pane -S -32768 \; save-buffer - \; delete-buffer
Крис Джонсен
источник
Отлично, работать с любой панелью даже лучше, чем ожидалось.
mahemoff