รับเนื้อหาบัฟเฟอร์ TMux scroll


13

ด้วย TMux จะมีวิธีใดที่จะดึงเนื้อหาบัฟเฟอร์ของโปรแกรมจากด้านบนบรรทัดคำสั่งปัจจุบันโดยทางโปรแกรมหรือไม่?

โดยทั่วไปฉันต้องการเขียนสคริปต์ทุบตีเพื่อทำซ้ำไปเรื่อย ๆ จนกระทั่งพบสตริงที่ตรงกัน เพื่อความชัดเจนฉันไม่ต้องการผ่านประวัติศาสตร์ของคำสั่งที่พิมพ์ ฉันต้องการผ่านทุกสิ่งที่ปรากฏบนคอนโซล

คำตอบ:


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ตัวเลือกcapture-paneซึ่งใช้ได้เฉพาะการเริ่มต้นในtmux 1.8 ด้วยเวอร์ชันเก่าคุณสามารถหลีกเลี่ยงไม่ได้โดยใช้save-buffer:

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

เยี่ยมมากการรันสิ่งนี้กับบานหน้าต่างใด ๆ ก็ดีกว่าที่หวังไว้
mahemoff
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.