Nhận nội dung bộ đệm cuộn TMux


13

Với TMux, có cách nào để lấy lại nội dung bộ đệm cuộn theo chương trình từ phía trên dòng lệnh hiện tại không?

Về cơ bản, tôi đang tìm cách viết một tập lệnh bash để lặp đi lặp lại cho đến khi tôi tìm thấy một chuỗi phù hợp. Để rõ ràng, tôi không muốn đi qua lịch sử của các lệnh được gõ; Tôi muốn đi qua tất cả mọi thứ xuất hiện trên bảng điều khiển.

Câu trả lời:


21

Với tmux 1.5 (và phiên bản mới hơn), bạn có thể cung cấp số âm cho -Stùy chọn capture-panetruy cập bộ đệm cuộn lại.

Ví dụ:

  • Chụp (tối đa) 32768 dòng của bộ đệm cuộn lại cùng với văn bản hiện tại của khung:

    tmux capture-pane -pS -32768
    
  • Nắm bắt chỉ là thứ mười gần đây nhất đã cuộn ra khỏi dòng:

    tmux capture-pane -pS -10 -E -10
    
  • Nắm bắt (tối đa) 100 dòng gần đây nhất đã cuộn ra khỏi các dòng:

    tmux capture-pane -pS -100 -E -1
    
  • Nắm bắt mười một dòng xếp thành hàng trên cùng hiện tại của khung (5 Cuộn đã cuộn ra khỏi các dòng và 6 dòng trên cùng của khung):

    tmux capture-pane -pS -5 -E 5
    

Lưu ý: Giống như hầu hết các lệnh tmux , bạn có thể sử dụng -tđể nhắm mục tiêu vào một khung cụ thể nếu khung hiện tại của con đường không phải là thứ bạn quan tâm để thăm dò.


Các ví dụ trên cũng sử dụng -ptùy chọn capture-pane, chỉ có sẵn bắt đầu từ tmux 1.8. Với các phiên bản cũ hơn, bạn có thể làm việc xung quanh việc không có nó bằng cách sử dụng save-buffer:

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

Tuyệt vời, chạy cái này với bất kỳ khung nào thậm chí còn tốt hơn mong đợi.
mahemoff
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.