2013-09-03 15 views
33

में काम नहीं करती है मैं वर्तमान में xterm-256color $ TERM चर के साथ tmux का उपयोग कर रहा हूं। जब tmux के नीचे bash में, घर/अंत दबाकर tilde अक्षर (~) डालेंगे। टीएमयूक्स के बाहर घर/अंत कुंजी ठीक काम करते हैं।घर/अंत कुंजी tmux

बिल्ली और tput का उपयोग करना, मैं देख सकता उत्पन्न होते हैं और उम्मीद दृश्यों के बीच एक बेमेल थी:

if [[ -n "$TMUX" ]]; then 
    bind '"\e[1~":"\eOH"' 
    bind '"\e[4~":"\eOF"' 
fi 
:

$ cat -v # pressing home, then end 
^[[1~^[[4~ 
$ tput khome | cat -v; echo 
^[OH 
$ tput kend | cat -v; echo 
^[OF 

इसे ठीक करने के, मैं अपने .bashrc के लिए निम्न जोड़ने का निर्णय लिया

यह बैश के लिए समस्या को ठीक करता है, हालांकि अन्य रीडलाइन कार्यक्रमों में, जैसे आईपीथॉन जैसे आरईपीएल के भीतर, यह अभी भी घर/अंत के लिए एक टिल्डे लगाता है।

यह पहली जगह में वास्तव में क्यों समस्या है? उत्पन्न होने वाला अनुक्रम अलग क्यों होता है जब मैं इसके बाहर बनाम टीएमएक्स के अंदर हूं? इसे कैसे ठीक किया जा सकता है ताकि यह किसी भी कार्यक्रम में कोई मुद्दा न हो?

+0

इस tmux config के लिए एक अच्छा सवाल है, फिर भी मैं तुम्हें 'ctrl-ए/ई के लिए इस्तेमाल किया पाने के लिए कोशिश कर रहा सुझाव है कर्सर – Kent

+0

बीटीडब्ल्यू को स्थानांतरित करने के लिए/एफ/बी/'' alt-B/f ... '(emacs bind), अगर यह आपकी मदद करता है? http://stackoverflow.com/questions/8604150/with-term-screen-256color-under-tmux-home-and-end-keys-dont-work- क्यों – Kent

+0

मैं वर्तमान में कमांड-कुंजी उपसर्ग के लिए ctrl-a का उपयोग करता हूं tmux में (स्क्रीन के समान)। मैंने पहले उस पोस्ट को देखा, लेकिन ऐसा लगता है कि केवल विम पर लागू होता है, और यह मेरे लिए विम में कोई मुद्दा नहीं है। –

उत्तर

26

ऐसा लगता है कि मुख्य समस्या $ TERM के लिए xterm-256color का उपयोग करने के साथ है। मैंने स्क्रीन -256 रंग में $ TERM स्विच किया और समस्या चली गई।

+0

मेरी इसी तरह की समस्या '.inputrc' (' info readline' देखें) या '.zshrc' में zsh के लिए' http: // zshwiki.org/home/zle/bindkeys' – here

+3

'के रूप में कीबाइंडिंग सेट करके हल की गई थी। ~/.tmux.conf' और एक पंक्ति 'सेट-जी डिफ़ॉल्ट-टर्मिनल "स्क्रीन -256 रंग" ' – Wernight

+1

जोड़ें यह उत्तर, जीएनयू स्क्रीन के साथ एक ही समस्या के लिए भी काम करता है। मैंने अभी तक 'टर्म "स्क्रीन -256 रंग"' को ~ ~ .screenrc –

4

यदि आप किसी कारण से tmux में xterm-256color के साथ रहना चाहते हैं - इनपुटआरसी के साथ arch solution का उपयोग करें। मैंने इसे टीएमएक्स में आरएक्सवीटी, रूबी इरब, पायथन, लुआ और होम/एंड कुंजियों के साथ परीक्षण किया है। शायद हर रीडलाइन ऐप ठीक रहेगा।

+0

मैं टीईआरएम को ओवरराइड कर रहा था जो मेरी सभी समस्याओं का कारण था लिंक –

+0

लिंक के लिए धन्यवाद ~/.inputrc फ़ाइल मेरे लिए काम किया। – mike

17

tmux 2.0 में, आप बस इन 2 लाइनों अपने .tmux.conf में जोड़ सकते हैं:

bind -n End send-key C-e 
bind -n Home send-key C-a 
+0

यह केवल रीडलाइन (और Emacs) के लिए काम करेगा और कहीं और अनपेक्षित परिणाम होगा। –

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