दो खिड़कियों के बीच एक फलक को प्रतिबिंबित करना


15

क्या एक ही सत्र के दो अलग-अलग विंडो में एक ही फलक दिखाई देना संभव है?

मैं आमतौर पर शीर्ष फलक (लगभग 80-90% टर्मिनल ऊंचाई) में विम के साथ मेरी मुख्य विंडो में एक एकल क्षैतिज विभाजन है, और नीचे फलक में एक कमांड लाइन है जहां मैं उस प्रोग्राम को चलाता हूं जिस पर मैं काम कर रहा हूं। क्योंकि नीचे की खिड़की इतनी छोटी है, इसलिए मैं अक्सर त्रुटि आउटपुट नहीं देख सकता, और वापस स्क्रॉल करने के लिए tmux के कीबोर्ड शॉर्टकट का उपयोग करना थकाऊ हो रहा है। मैं अपनी दूसरी विंडो को उसी फलक से जोड़ना चाहता हूं ताकि अगर मुझे अपनी त्रुटि आउटपुट को अधिक देखने की आवश्यकता हो, तो मैं बस स्क्रॉलबैक से निपटने के लिए जल्दी से दूसरी विंडो पर स्विच कर सकता हूं। क्या यह संभव है?

(मुझे लगता है कि एक गिरावट एक लॉग फ़ाइल और पूंछ कि मेरी दूसरी विंडो में लिखने के लिए टी की तरह कुछ का उपयोग करने के लिए किया जाएगा। मुझे उम्मीद है कि हालांकि यह आवश्यक नहीं है)

जवाबों:


8

डिफ़ॉल्ट रूप से, आप दबाकर Prefixऔर z(डिफ़ॉल्ट उपसर्ग है Ctrl+B) एक फलक की "ज़ूम स्थिति" को टॉगल कर सकते हैं ।

इससे वर्तमान फलक (आपकी कमांड लाइन फलक, उदाहरण के लिए) पूरी विंडो पर कब्जा कर लेगी। प्रेस Prefixऔर zफिर से "अनज़ूम" फलक पर।


11

मुझे डर है कि यह उन चीजों में से एक है जो आप नहीं कर सकते हैं tmux(मैं एक फलक के साथ समस्याओं की उम्मीद करूँगा विभिन्न आकारों के कई स्थानों में प्रदर्शित होने का मुख्य कारण हो सकता है)। हालाँकि, कई तरीके हैं जिनसे आप काम कर सकते हैं - सभी कुछ प्रमुख संयोजनों के लिए कुछ क्रियाओं को बाध्य करने के आधार पर। चूँकि आपके द्वारा उपयोग किए जा रहे लेआउट पर बहुत कुछ निर्भर करता है, आपके द्वारा उल्लेखित दो पैन के साथ सिर्फ एक सरल लेआउट होने से आपका जीवन बहुत आसान हो जाता है

  1. rotate-window - यह सिर्फ पैन स्वैप करेगा, इस प्रकार आपको कमांड आउटपुट के लिए 80% -90% (और वीआईएम के लिए छोटी खिड़की) देगा।

  2. break-pane बनाम join-pane -v -p <preview_percentage> -t !

  3. pipe-paneसाथ commandएक नामित पाइप को unbuffered पुनर्निर्देशन (यानी एक फाइल सिस्टम नोड के साथ बनाया जा रहा है mkfifo) - तो का उपयोग tail -fअन्य फलक में, जिसका नाम पाइप।

  4. आउटपुट को पाइप करें less, जिसमें फॉलो मोड भी tailहै ( जिसमें कम से कम GNU है)।

  5. resize-pane -Zछोटे पैनल पर इसे पूरे टर्मिनल पर ज़ूम इन किया जाएगा। इसके बाद अन-जूम इसे सक्रिय रखेगा इसलिए इसे आराम से काम करने के लिए थोड़ी सी चाल की जरूरत होती है।


2
BTW - "मैं एक फलक के साथ समस्याओं को विभिन्न आकारों के कई स्थानों में प्रदर्शित होने की मुख्य कारण होने की उम्मीद करूंगा" जो इसे लागू करने की जटिलता का एक कारक हो सकता है, लेकिन tmux समूहीकृत विंडो स्तर पर एक ही चीज़ का समर्थन करता है, समूहीकृत के माध्यम से सत्र unix.stackexchange.com/questions/24274/… । यह बस छोटी खिड़की के नीचे पैडिंग जोड़ता है। सैद्धांतिक रूप से फलक मिररिंग को उसी तरह किया जा सकता है।
Mahemoff

हम्म ... आप सही कह रहे हैं, इसके बारे में जाने का एक तरीका हो सकता है।
पीटरफ

1

आप किसी फ़ाइल में अपने छद्म सत्र को आउटपुट करने के लिए स्क्रिप्ट का उपयोग कर सकते हैं और फिर tailउस फ़ाइल को दूसरी विंडो में।

अपने कामकाजी फलक में।

script -f tailme.out

और आपके देखने के फलक में।

tail -f tailme.out

1

मैं दूसरों के साथ सहमत हूं कि आपके मामले के लिए Prefix+ zसबसे प्रत्यक्ष समाधान होगा, लेकिन एक फलक को प्रतिबिंबित करने के सामान्य प्रश्न के लिए एक हैक का एक सा है जो काम कर सकता है - tmux के अंदर एक स्क्रीन सत्र घोंसला बनाना।

ग्नू स्क्रीन स्थापित करें, फिर इसे उस दर्पण के लिए शुरू करें जिसे आप दर्पण करना चाहते हैं। फिर screen -xअन्य पैन में संलग्न करने के लिए।

यदि आप चाहते हैं तो आप फलक में एक और tmux सत्र को भी घोंसला बना सकते हैं, लेकिन tmux सत्र को ध्यान से घोंसला बनाना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.