आप एक tmux pane को कैसे छिपाते हैं?


59

मेरी tmux विंडो में 3 पैन हैं:

--------------------------
|             |      2   |
|             |          |
|        1    |----------|
|             |      3   |
|             |          |
--------------------------

पैन 1 और 2 है vim। Pane 3 एक cli चलाता है जिसे मैं विकसित कर रहा हूं। कभी-कभी मैं पैन 1 और 2 की तुलना करना चाहता हूं, इसलिए मैं पैन 3 छिपाना चाहता हूं:

--------------------------
|             |          |
|             |          |
|        1    |       2  |
|             |          |
|             |          |
--------------------------

और फिर वापस पेज 3 लाएं। मैं फलक 3 को नहीं मारना चाहता क्योंकि मैंने वहां कुछ चीजें स्थापित की हैं और उन्हें फिर से स्थापित करने के लिए नहीं जाना चाहता।

  • क्या ऐसा ही कुछ है, PREFIX + zजो फलक 2 को ज़ूम कर सकता है, लेकिन पेन 1 को छुए बिना? या
  • क्या पैन 3 को जल्दी से छिपाने और जरूरत पड़ने पर उसे वापस लाने का कोई तरीका है?

जवाबों:


71

का प्रयोग करें break-paneऔर join-paneआदेशों। का संदर्भ लें man tmuxविवरण, विकल्प और उपयोग के लिए।


छिपाएँ फलक 3:

फलक का चयन करें 3और दर्ज करें Prefix- :break-pane -dP

tmux3पृष्ठभूमि ( -dध्वज) में एक विंडो में फलक भेजेगा और इसके बारे में कुछ जानकारी फलक 2 ( -Pध्वज) में मुद्रित करेगा । डिफ़ॉल्ट रूप से आप कुछ इस तरह देखेंगे 1:2.0(अर्थ:) session:window.paneqकाम जारी रखने के लिए मारो । 1

1 कुछ के साथ अभ्यास आप ड्रॉप करने में सक्षम हो जाएगा -Pके बाद से आप की भविष्यवाणी कर सकते झंडा session:window.paneत्रिक: sessionवर्तमान सत्र और करने के लिए चूक paneकरने के लिए चूक 0, जबकि windowअगले मुक्त खिड़की पहचानकर्ता हो जाएगा।

फलक 3 प्राप्त करें:

फलक प्राप्त करने के लिए 3और वापस लेआउट का चयन करें फलक 2और इस मुद्दे Prefix- :join-pane -vs 1:2.0कह tmuxफलक विभाजित करने के लिए 2खड़ी ( -v) और (स्रोत) फलक (शामिल होने के लिए -s) पहचानकर्ता के साथ 1:2.0। वैकल्पिक रूप से, आप sessionया तो paneपहचानकर्ता को छोड़ सकते हैं । यह भी ध्यान दें कि tmux एक कमांड लाइन के इतिहास को स्टोर करता है, आसानी से Prefix- :- के साथ सुलभ है Up

आपको इसे लटकाने के लिए कुछ समय की आवश्यकता होगी, लेकिन एक बार ऐसा करने के बाद, आप निश्चित रूप से कस्टम कुंजी बाइंडिंग के साथ आने में सक्षम होंगे जो आपके लिए सुविधाजनक हैं।


इस प्रश्न में कुछ उपयोगी जानकारी और तरकीबें हैं जो आपके वर्कफ़्लो को बेहतर बना सकती हैं।


स्पष्ट निर्देश! मेरे लिए सुचारू रूप से काम करता है, मेरे उत्तर से बहुत बेहतर है!
बर्नहार्ड

डिफ़ॉल्ट रूप से, फलक 3 को अंतिम विंडो में तोड़ दिया जाएगा, अगर आपको वर्तमान सत्र में पहले से ही 3 विंडो मिल गई हैं, तो फलक विंडो 3 बन जाएगी (मान लें कि विंडो 0 से शुरू होती है), इसलिए "विंडो 3" में 3 निर्भर करता है खुली हुई खिड़कियां, मैं इस काम को कस्टमाइज्ड कुंजी बाइंडिंग में कैसे बना सकता हूं?
कोडिचन

5

एक विचार: tmux में tmux चलाएं।

मूल सेट अप:

फलक 1 और फलक 2; साथ साथ। सामान्य के रूप में फलक 1 में vim चलाएँ।

फलक 2 में, फिर से tux चलाएं और दो पैन बनाएं (इस समय एक के ऊपर एक)। फिर पैन 2.1 में विम और पेन 2.2 में अपना सीएलआई चलाएं। यह आपको Vim के दूसरे उदाहरण के साथ स्क्रीन फलक 2.1 को पूर्ण करने की अनुमति देता है जिसके परिणामस्वरूप आप चाहते हैं।


इसे मैं आउट ऑफ़ बॉक्स सोच कहता हूँ!
user881300

धन्यवाद user881300 इसकी कुछ खामियां हैं (कमांड भेजने में सक्षम होने के कारण कुछ क्वर्क हैं उदाहरण के लिए)। मैं इसे और अधिक पूर्ण उत्तर में अपडेट करने की उम्मीद करता हूं, जब मैंने इसका परीक्षण किया है - मुझे स्वयं समान कार्यक्षमता की आवश्यकता है।
बाइनरीबेन

2
@ user881300 तकनीकी रूप से, यह बॉक्स में बॉक्स सोच है।
मतीन उलहाक

3

फलक 3 को छिपाने के बजाय, आप थोड़ा धोखा भी दे सकते हैं, और इसे बहुत छोटा बना सकते हैं, जो संभवतः आपके मामले के लिए भी काम करेगा।

जब फलक 2 सक्रिय फलक है जो आप कर सकते हैं

PREFIX : resize-pane -D 40

फिर, इसे फिर से ऊपर ले जाने के लिए, आप या तो कर सकते हैं

PREFIX : resize-pane -D 28

जहां आपको एक सभ्य संख्या के साथ 28 को बदलना होगा, या, इसके बजाय, आप कोशिश कर सकते हैं PREFIXEsc4, जो स्वचालित आकार देता है।


मैं उपयोग करते हुए फलक का आकार बदल रहा था set -g mouse-resize-pane onलेकिन आकार बदलने के अलावा हमारे पास कोई अन्य विकल्प नहीं है?
user881300

@ user881300 मैं tmuxकिसी भी तरह से एक विशेषज्ञ नहीं हूं , लेकिन मुझे यह जानने के लिए उत्सुक होना चाहिए कि क्या यह संभव है।
बर्नहार्ड

1
CTRL+B, ALT+<arrow direction to resize>, से CTRL+B, ESC, 4(thx @ बर्नहार्ड) इसे पुनर्स्थापित करने के लिए।
फेलिकजेड

1

अब मैं यह सवाल लगभग 5 साल पुराना हूं, लेकिन मैंने इसे सिर्फ इसलिए पाया क्योंकि मैं ऐसा ही कुछ करना चाहता था और मैं निम्नलिखित keybindings के साथ आया था user78291 के जवाब के लिए धन्यवाद :

bind-key ! break-pane -d -n _hidden_pane
bind-key @ join-pane -s $.1

इस तरह, मैं Prefix!वर्तमान फलक को छिपाने और Prefix@इसे वापस लाने के लिए उपयोग कर सकता हूं । अच्छी बात यह है कि मैं इस तरह से कई पैन छिपा सकता हूं।

यह एकदम सही है, लेकिन यह पैन को छिपाने और उन्हें काफी अच्छी तरह से वापस लाने का काम करता है।


0

मुझे पता है कि यह वास्तव में उस फलक को नहीं छुपाता है जिस पर आप काम कर रहे हैं, लेकिन मैं यह करने की कोशिश कर रहा था ताकि चुनिंदा खिड़कियों पर आम कमांड भेजने से tmux को रोका जा सके और बहुत सरल समाधान मिल सके।

यदि आप फलक को नेत्रहीन रूप से छिपाना नहीं चाहते हैं, लेकिन बस फलक पर जाने वाले किसी भी इनपुट को रोकना चाहते हैं। एक परिदृश्य हो सकता है कि आप 5 खुले पैन को एक कमांड भेजना चाहते हैं, लेकिन उनमें से 2 को नहीं भेजना चाहते हैं।

इस उपयोग के मामले में आप उन ctrl + sपैन पर कर सकते हैं जिन्हें आप नहीं चाहते हैं कि कमांड्स ( ctrl + sसभी इनपुट को फलक पर लॉक कर दें)।

एक बार जब आप कर रहे हैं, ctrl + cवापस बाहर आने के लिए दबाएँ ।

नोट : ctrl + qकमांड के बाद प्रेस न करें क्योंकि यह उस स्क्रीन पर सभी कमांड चलाएगा। ctrl + cऐसा नहीं होगा (Ubuntu पर यह कोशिश की)।

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