2013-03-18 9 views
36

मैं एक कोशिश कर रहा हूँ में Shift + Tab एक ctrl + टैब और ctrl + पारी + टैब एक tmux सत्र के अंदर काम करने के लिए बाध्यकारी मिल (मैं पुटी का भी उपयोग कर रहा हूं)।बाइंड Ctrl + Tab और Ctrl + tmux

मैं पहले से ही पुट्टी पुन: संयोजित करने के लिए होने के दर्द के माध्यम से चला गया तो यह ctrl और पारी सही ढंग से भेजना होगा। ctrl + वी उपयोग कर, और बाद मुझे लगता है कि ^[[27;5;9~ और ^[[27;6;9~ क्रमशः ctrl + टैब और ctrl के लिए भेजे जा रहे हैं + पारी + टैब, देखने के लिए सक्षम हूँ। क्या कोई तरीका है कि मैं इन्हें अगली विंडो और पिछली विंडो में tmux के अंदर बाध्य कर सकता हूं?

संपादित करें: कुछ शोध के बाद, मुझे लगता है कि मुझे उन कुंजीकोड को शामिल करने के लिए xterm को कॉन्फ़िगर करना पड़ सकता है। कोई विचार है कि मैं ऐसा करने के बारे में कैसे जाऊंगा?

संपादित 2: तो मुझे पता चला कि मैं infocmp पुनर्प्राप्त कर सकता हूं और इसे पुन: संकलित कर सकता हूं। मैं इसके बारे में समाप्त करने के लिए

kctab=\E[27;5;9~, kcstab=\E[27;6;9~,

कहा, अब यह मुझे एक त्रुटि दे रही है को छोड़कर। "प्रविष्टि कॉलम में टर्मिनल नामों के साथ शुरू नहीं करता है एक"

+0

Ctrl-Tab समर्थन के साथ पुटी को पुन: संकलित करने के निर्देश। http://scnr.net/blog/index.php/archives/61 –

+0

आपके प्रश्न के लिए धन्यवाद। – CodyChan

उत्तर

35

हाल "अप्रकाशित" tmux के संस्करणों स्वचालित रूप से उन टर्म शैली कुंजी दृश्यों को पहचान करते हैं एक बार आप अपने टर्मिनल उन्हें भेजने (अपने terminfo बदलने की कोई आवश्यकता है प्रवेश)। अगले रिलीज संस्करण (1.8?) में भी यह समर्थन होना चाहिए। tmux की एक उचित निर्माण के साथ, आपको क्या करना है अपने tmux विन्यास में कुंजी के लिए बाध्य किया जाता है:

bind-key C-Tab next-window 
bind-key C-S-Tab previous-window 

आप अभी भी इन कुंजियों से पहले अपने उपसर्ग कुंजी टाइप करने के लिए की आवश्यकता होगी।

(नोट:। ~/.tmux.conf केवल संसाधित जब सर्वर शुरू होता है आप इसे में बदलाव करते हैं, या तो आप अपने मौजूदा सर्वर फिर से करने के लिए अपने सभी सत्रों जैसे) बाहर निकलने के लिए और सर्वर को पुनः आरंभ, या का उपयोग करें (tmux source ~/.tmux.conf की आवश्यकता होगी फ़ाइल पर कार्रवाई।)

इसके अलावा, अगर आप tmuxtmux अंदर चल रहे कार्यक्रमों के लिए इन (और अन्य) टर्म शैली कुंजी दृश्यों पहुंचाना चाहते हैं, तो आप xterm-keys खिड़की विकल्प को सक्षम करने की आवश्यकता होगी।

set-option -gw xterm-keys on 

(आप चाहें, तो आप -w बजाय -gw का उपयोग करके एक प्रति-खिड़की के आधार पर कर सकते हैं।)


आप उपसर्ग लिखते बिना उन कुंजी का उपयोग करने में सक्षम होना चाहते हैं, तो आप "कोई उपसर्ग" बाइंडिंग के बजाय का उपयोग कर सकते हैं:

bind-key -n C-Tab next-window 
bind-key -n C-S-Tab previous-window 

यह कम या ज्यादा "समर्पित" होगा tmux के लिए कुंजी, हालांकि। tmux के अंदर चल रहे किसी भी प्रोग्राम में इन चाबियों को टाइप करना मुश्किल होगा (उदाहरण के लिए आपको tmux कमांड send-keys C-Tab - सामान्य, xterm-keys इन xterm-style कुंजी अनुक्रमों को भेजने के लिए सक्षम होना चाहिए)।


अपने terminfo प्रविष्टि संपादन के साथ समस्या यह शायद इसलिए है क्योंकि एक ही है कि नाम टर्मिनल प्रकार एक टैब से प्रारंभ करना होगा के बाद प्रत्येक पंक्ति। एक पंक्ति के साथ शुरू नहीं होने वाली रेखाएं एक नई टर्मिनल प्रविष्टि की शुरुआत हैं। तकनीकी रूप से, एनएल टैब अनुक्रम मूल रूप से इस फ़ाइल प्रारूप में एक पंक्ति निरंतरता है; प्रत्येक प्रविष्टि एक तार्किक रेखा है।

इसके अलावा, अगर आप terminfo प्रविष्टियों को पुनर्परिभाषित कर रहे हैं, infocmp और टिक साथ -x उपयोग करने के लिए उपयोगकर्ता परिभाषित क्षमताओं को संरक्षित करने के लिए सुनिश्चित हो (जिनमें से कुछ काफी मानक हैं)।


अर्थात tmux Git repository at sf.net (क्लोन-सक्षम यूआरएल git://git.code.sf.net/p/tmux/tmux-code पर) में हालिया कोड से बनाया गया है।

+0

tmux मान्य कुंजी के रूप में सी-टैब और सीएस-टैब को नहीं पहचानता है (कहता है कि यह एक अज्ञात कुंजी है) और सिर के लिए धन्यवाद, मैंने अपने टर्मिनो बदलावों को वापस कर दिया क्योंकि ईमानदार होने के कारण, मुझे वास्तव में पता नहीं था कि मैं क्या जानता हूं कर रहा था। – dook

+0

ओप्स, सी-टैब (और सी-एस-टैब) * tmux * के निर्माण में पहचाने जाते हैं, लेकिन यह सुविधा नवीनतम रिलीज (1.7) का हिस्सा नहीं है। यदि आप अभी तक जारी किए गए कोड का हालिया संस्करण नहीं बनाते हैं (यानी git: //git.code.sf.net/p/tmux/tmux-code से), तो यह इन चाबियों का समर्थन करेगा। भ्रम के बारे में खेद है! मैं इस स्थिति का वर्णन करने के लिए उत्तर टेक्स्ट अपडेट कर दूंगा। –

+0

ओह धन्यवाद क्रिस! एक बार जब मैं इसे पुनः प्राप्त कर लेता हूं और – dook

संबंधित मुद्दे