TMux स्क्रॉल बफर सामग्री प्राप्त करें


13

TMux के साथ, क्या वर्तमान कमांड लाइन के ऊपर से स्क्रॉल बफर सामग्री को प्रोग्रामेटिक रूप से पुनः प्राप्त करने का कोई तरीका है?

मैं मूल रूप से एक बैश स्क्रिप्ट लिखना चाहता हूँ जब तक कि मुझे एक मेल स्ट्रिंग न मिल जाए। स्पष्ट होने के लिए, मैं टाइप किए गए आदेशों के इतिहास से नहीं गुजरना चाहता; मैं सब कुछ के माध्यम से जाना चाहता हूं जो कंसोल पर दिखाई दिया।

जवाबों:


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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.