Tmux में उपसर्ग कुंजी और कमांड कुंजी के बीच टाइमआउट कैसे बंद करें?


45

मेरा ~/.tmux.conf:

set -g prefix C-a
unbind C-b
bind C-a send-prefix

bind-key o split-window -v
bind-key e split-window -h

bind-key w kill-pane

(कमांड कुंजी को गनोम टेमिनेटर के समान बनाने के लिए)

स्थिति: क्षैतिज बंटवारे की खिड़की के बाद 2 पैन में, Ctrl+ a Upतीर के साथ फलक पर स्विच करना , मुझे इस फलक में शेल इतिहास कमांड देखने के लिए थोड़ी देर (2-3 सेकंड) इंतजार करना होगा। क्योंकि अगर मैं Upफिर से प्रेस करता हूं तो यह मुझे शेल हिस्ट्री कमांड दिखाने के बजाय दूसरे पेन पर वापस चला जाएगा। मैं इसे कैसे बंद कर सकता हूं?


एक संभावित उपयोगी विकल्प CTRL + B q का उपयोग करना है, यह tmux में विंडो संख्या दिखाता है। CTRL + B q <नंबर> को दबाने पर आप उस विंडो पर पहुंच जाएंगे, ऊपर / नीचे तुरंत उपलब्ध होगा। आपको q का नंबर बहुत जल्दी टाइप करना होगा। इसको नियंत्रित करने का एक समय-निर्धारण भी है।
स्पेसेन जस्सेट

जवाबों:


53

ऊपर, नीचे, बाएँ और दाएँ ( select-paneबाइंडिंग; और नियंत्रण- और मेटा- के लिए एक ही कुंजी के resize-pane) डिफ़ॉल्ट रूप से (दोहराए गए bind-key -r) बाइंडिंग हैं । उपसर्ग कुंजी और किसी एकल दोहराने योग्य कुंजी को टाइप करने के बाद, आप repeat-timeसत्र विकल्प के माध्यम से निर्दिष्ट मिलीसेकंड की संख्या के भीतर किसी भी अन्य दोहराने योग्य कुंजी (फिर से उपसर्ग टाइप किए बिना) टाइप कर सकते हैं (डिफ़ॉल्ट 500ms है)।

आप repeat-timeइन शेल कमांड से वर्तमान मूल्य की जांच कर सकते हैं :

tmux show-options -g | grep \^repeat-time     # global
tmux show-options    | grep \^repeat-time     # this session

यदि आप वर्तमान सत्र के लिए दोहराने को अक्षम करना चाहते हैं, तो अपना उपसर्ग, एक कोलन टाइप करें, और इस कमांड को दर्ज करें:

set-option repeat-time 0

या, आप एक आरामदायक गैर-शून्य मान पा सकते हैं। यदि आपके पास वास्तव में लगभग 2000 (अर्थात 2s) का मूल्य है, तो मुझे लगता है कि इसे सेट किया जा रहा है /etc/tmux.conf

यदि आप अपने सभी सत्रों के लिए पुनरावृत्ति को अक्षम करना चाहते हैं (या टाइमआउट बदलना चाहते हैं), तो इस कमांड के साथ वैश्विक मान सेट करें:

set-option -g repeat-time 0

यदि आपने प्रति-सत्र मान निर्धारित किया है, तो आपको उस सत्र में ( set-option -u repeat-time) में वैश्विक मूल्य प्रभावी होने से पहले इसे अनसेट करना होगा । .tmux.confयदि आप इसे "स्थायी रूप से" छोड़ना चाहते हैं, तो आप अपने माध्यम से वैश्विक मूल्य निर्धारित करना पसंद कर सकते हैं।

यदि आपको केवल अप की समस्या है, तो आप इसके बिना बगावत कर सकते हैं -r:

bind-key Up select-pane -U

4

यदि आप चाहते थे तो आप विशिष्ट कीबाइंडिंग के लिए रिपीट को बंद भी कर सकते थे। उदाहरण के लिए, पैन के बीच स्विच करने के लिए डिफ़ॉल्ट बाइंडिंग नीचे उबलते हैं:

bind-key -r Up    select-pane -U
bind-key -r Down  select-pane -D
bind-key -r Left  select-pane -L
bind-key -r Right select-pane -R

आप इन -rझंडे के बिना फिर से बना सकते हैं , जैसे

bind-key    Up    select-pane -U
bind-key    Down  select-pane -D
bind-key    Left  select-pane -L
bind-key    Right select-pane -R

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

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