सवाल मैं tmux विंडोज़ को कैसे पुन: व्यवस्थित करूं?


में screen, मैं बस टाइप कर सकते हैं C-a :number 0 खिड़की की सूची के शीर्ष पर एक विंडो को स्थानांतरित करने के लिए और अन्य सभी विंडोज़ को नीचे दबाएं। के लिए समकक्ष कमांड अनुक्रम क्या है tmux? मैंने मैन पेज को देखा, लेकिन मुझे इस बिंदु पर भ्रमित लग रहा है।


374
2018-02-02 19:53


मूल


C-b, . आपको एक खिड़की की मरम्मत करने देता है। - isomorphismes
सभी सारे उत्तरों को पढ़ना, मुझे अभी भी ओपी के प्रश्न का कोई आसान समाधान नहीं दिख रहा है: किसी दिए गए विंडो को 0 स्थिति में कैसे स्थानांतरित करें और बाकी सभी को दाईं ओर स्थानांतरित करें। क्या मुझे वास्तव में ऐसा करने के लिए प्रत्येक को मैन्युअल रूप से स्थानांतरित करना है? मैं सिर्फ गलती से किए गए एक कदम को पूर्ववत करना चाहता हूं (और मुझे यकीन नहीं है कि क्या) जो मुझे लगता है कि खिड़की 8 को विंडो 8 में ले जाया गया और बाकी सभी को बाईं ओर स्थानांतरित कर दिया गया। - nealmcb
@nealmcb सबसे आसान मैं बेस-इंडेक्स को 1, रेनंबर सेट करने के लिए आ सकता हूं, फिर अपनी विंडो खाली 0 स्लॉट में ले जाएं: superuser.com/a/1155999/674549 - eMBee
के अंतर के लिए swap-window -s number तथा swap-window -t number वर्तमान विंडो स्वैप करने के लिए, देखें मेरा जवाब यहाँ। - qeatzy
देख यह जवाब tmux विंडोज़ की रेंज को बदलने के लिए एक बैश फ़ंक्शन के लिए, उदाहरण के लिए, [0-6] विंडो के [2-5]। - qeatzy


जवाब:


swap-window आदेश आप जो चाहते हैं उसके करीब है।

"उपसर्ग:" (वह डिफ़ॉल्ट रूप से "Ctrl-B:" है) आपको tmux-command प्रॉम्प्ट पर लाता है। वहां आप प्रवेश करते हैं:

swap-window -s 3 -t 1

विंडो नंबर 3 और विंडो नंबर 1 को अपनी स्थिति स्वैप करने दें।

वर्तमान विंडो को शीर्ष विंडो के साथ स्वैप करने के लिए, करें:

swap-window -t 0

इंडेक्स 0 पर कोई विंडो नहीं होने की संभावना के मामले में, करें:

move-window -t 0

(यदि बेस-इंडेक्स 0 है, क्योंकि यह डिफ़ॉल्ट रूप से है)।

आप निम्न को जोड़कर उस आदेश को एक कुंजी (उदाहरण के लिए "शीर्ष" के लिए टी) में बाध्य कर सकते हैं ~/.tmux.conf:

bind-key T swap-window -t 0

418
2018-03-01 09:39



आपके संपादन के लिए धन्यवाद, लेकिन move-window केवल तभी काम करता है, अगर दिए गए इंडेक्स में कोई और विंडो न हो। तो ज्यादातर मामलों में, move-window -t 0 काम नहीं करेगा, क्योंकि आमतौर पर उस स्थिति में एक और खिड़की होगी। - matlehmann
यह सही है, मैं इसे सुधारूंगा। - zakkak
आप एक नज़र रखना चाहते हो सकता है movew। - Marcello Romani
इसके अलावा, bind-key L swap-window -t -1 इसे अंतिम खिड़की बनाने के लिए। - w17t
के अंतर के लिए swapw -s number तथा swapw -t number वर्तमान विंडो स्वैप करने के लिए, देखें मेरा जवाब यहाँ। - qeatzy


गैरेथ के जवाब में जोड़कर, आप निम्नलिखित कुंजी बाइंडिंग का उपयोग कर सकते हैं

bind-key -n C-S-Left swap-window -t -1
bind-key -n C-S-Right swap-window -t +1

Ctrl + Shift + Left दबाकर (वर्तमान विंडो को बाईं ओर ले जाया जाएगा। इसी प्रकार दाएं। संशोधक (सी-बी) का उपयोग करने की आवश्यकता नहीं है।


225
2018-02-15 11:18



इस -1 तथा +1 वाक्यविन्यास कब्जे वाले सूचकांक की समस्या को हल करने में मदद करता है। tmux आपके लिए अन्य विंडो को स्थानांतरित कर देगा और ईवेंट अंत में / अंत में स्वचालित रूप से लपेट जाएगा। यह सबसे अच्छा जवाब है। - brianpeiris
यह ईश्वरीय है! धन्यवाद। - Bruno Buccolo
टीएमयूक्स विंडोज़ को आसानी से स्थानांतरित करने में मेरी अक्षमता कुछ हफ्तों तक मुझे परेशान कर रही है। यह खिड़कियों से निपटने के लिए इतना आसान बनाता है! इस हालिया tmux कन्वर्ट से बहुत धन्यवाद। - calvinf
महान संकेत, पसंद करते हैं bind-key S-Left swap-window -t -1, इसलिए मैं <prefix> shift + arrow कर सकता हूं, क्योंकि मुझे प्रोग्राम्स के लिए कुंजी बाइंड को गड़बड़ाना पसंद नहीं है। - demure
यदि अक्षरों का उपयोग करने के लिए आपको पूंजी पत्र का उपयोग करने की आवश्यकता है, सी-एस नहीं, इस तरह: bind-key -n C-H swap-window -t -1 - Matthew Mitchell


टीएमयूक्स के बराबर है :number 42 है :move-window -t 42


60
2018-04-05 22:12



यह सी-बी के लिए बाध्य है। - vedang
धन्यवाद! यह स्वीकृत उत्तर आईएमओ से काफी बेहतर है। - Ashe
@AllenCuss वास्तव में दोनों जवाब अच्छे और उपयोगी हैं। आप स्क्रीन का उपयोग करके देखते हैं: संख्या आप टीएमयूक्स का उपयोग करके विंडोज़ को स्वैप कर सकते हैं: मूव-विंडो यदि आप लक्ष्य सूचकांक उपयोग में नहीं हैं तो आप केवल खिड़की को स्थानांतरित कर सकते हैं। तो, आईएमओ, दोनों: स्वैप-विंडो और: खिड़की के स्थानों पर नियंत्रण को समझने के लिए चाल-खिड़की आवश्यक है :) - Victor Farazdagi
एक प्रोग्रामिंग गुरु से जवाब प्राप्त करने के लिए +1 (सही होने के लिए भी)। यह एकमात्र तरीका है जिसे मैं सक्रिय विंडो पर काम करने के लिए प्राप्त कर सकता हूं - engineerDave
tmux के :move-window है नहीं स्क्रीन के बराबर :number। :number यदि गंतव्य मौजूद है तो स्वैप हो जाता है, :move-window उस मामले में विफल रहता है। आपको बीच चुनना है :move-window तथा :swap-window - piec


आप बराबर लागू कर सकते हैं screenकी number एक बाहरी खोल स्क्रिप्ट का उपयोग कर कमांड जो बीच चुनता है swap-window तथा move-window। आप इसे इस तरह से एक कुंजी से बांध सकते हैं:

bind < command-prompt -p index "run-shell '~/.tmux.number.sh %%'"

~/.tmux.number.sh:

#!/bin/bash
if [ $# -ne 1 -o -z "$1" ]; then
    exit 1
fi
if tmux list-windows | grep -q "^$1:"; then
    tmux swap-window -t $1
else
    tmux move-window -t $1
fi

12
2018-04-16 15:42



बहुत अच्छा समाधान, महान काम कर रहा है! मैंने अभी सफाई और हटाए जाने के लिए मामूली संपादन किए हैं -F विकल्प जो मेरे tmux संस्करण द्वारा स्वीकार नहीं किया जाता है। - haridsv


मैं इस तरह की खिड़कियों की मरम्मत करता हूं:

Ctrl+, ., 222

वर्तमान बना देगा tmux खिड़की (सभी पैन) संख्या 222।


संबंधित: जब मैं चारों ओर चीजें बदल रहा हूं तो मैं करना चाहता हूं

Ctrl+  :new-session -d -s "reading"

और वहां से मैं भी उपयोग कर सकते हैं Ctrl+, ., reading वर्तमान विंडो (एक ही समय में सभी पैन) को पढ़ने के सत्र में ले जाने के लिए। आप सत्रों के बीच ब्राउज़ कर सकते हैं Ctrl+, s जिस तरह से आप सत्र के भीतर ब्राउज़ करेंगे Ctrl+, w

HTH


10
2017-07-09 22:16





किसी भी आईडी पर जाने के लिए स्वैप-विंडो का उपयोग करना: [स्क्रीन के सबसे नज़दीक: संख्या]

# window movement / renumbering like in screen's :number
bind-key m command-prompt -p "move window to:"  "swap-window -t '%%'"

[एम के लिए एम -> हिट उपसर्ग-एम और 3 कहें दर्ज करें। खिड़की की मरम्मत करने के लिए 3]


8
2017-12-12 03:13



यह पहले से ही अच्छा है, लेकिन इससे भी बेहतर होगा: स्वैप-विंडो करें और यदि यह विफल हो जाए, तो स्थानांतरित करने के लिए वापस जाएं - nisc


चूंकि आशीष अरिगा का जवाब संस्करण 1.9 ए और नीचे काम नहीं करता है। मैं उपयोग करता हूं < तथा > नीचे दी गई रेखा को जोड़कर क्रमशः बाईं ओर दाईं ओर विंडो को स्वैप करने के लिए .tmux.conf

# swap window to left or right
bind-key -r < swap-window -t -1
bind-key -r > swap-window -t +1

5
2018-03-18 17:08