Ctrl-Arrow OS X पर काम क्यों नहीं कर रहा है?


15

मैं का उपयोग करें Ctrl- और Ctrl- पर हर Linux सिस्टम मैं काम पर है, लेकिन इन कुंजी संयोजन पर अपने मैकबुक प्रो बैश में काम नहीं करते। यह स्नो लेपर्ड चला रहा है, और मैं बिल्ट इन टर्मिनल एप्लिकेशन का उपयोग कर रहा हूं।

कुंजी संयोजन, पहले या टर्मिनल से कुछ भी द्वारा कब्जा किया जा सकता है क्योंकि अगर मैं अपने लिनक्स सर्वर से एक के लिए SSH, मैं उपयोग कर सकते हैं नहीं प्रतीत होती हैं Ctrl- / कमांड लाइन पर अगले / पिछले शब्द के लिए कूद करने के लिए। हालांकि, जब मैं अपनी मैकबुक पर बैश में इस महत्वपूर्ण संयोजन की कोशिश करता हूं, तो मुझे बस दाएं तीर के लिए "सी" और बाएं तीर के लिए "डी" मिलता है।

कैसे मैं डार्विन बैश में काम करने के लिए इन चाबियों को प्राप्त कर सकता हूं इस पर कोई विचार?


2
यदि आप डिफ़ॉल्ट स्विच स्थान द्वारा Spaces, Ctrl + arrow का उपयोग कर रहे हैं।
अंक 4o

जवाबों:


13

OS X एमएसीएस कुंजी को मेरे डिफ़ॉल्ट बाइंडिंग का उपयोग करता है। यह सच है कि ओएस एक्स पर लगभग हर एप्लिकेशन है, बल्कि यह अच्छा है। इसका मतलब है कि Ca और Ce जैसी चीजें लाइन की शुरुआत / समाप्ति हैं। आपको एम-बैकस्पेस, ओह के साथ निफ्टी बैकवर्ड-वर्ड-किल भी मिलता है और सीके के साथ किल-लाइन।

इसका मतलब यह होना चाहिए कि आपके टर्मिनल में आगे / पीछे-शब्द क्रमशः एमएफ और एमबी से बंधे हैं, (एम = मेटा = ऑल्ट / विकल्प), हालांकि ऐसा नहीं है। OS X पर आगे / पीछे-शब्द डिफ़ॉल्ट रूप से M- → और M- to से बंधे हैं।

आप इस व्यवहार को बदल सकते हैं कि आपके खाते के लिए GNU रीडलाइन लाइब्रेरी कैसे कॉन्फ़िगर की गई है। यह आपकी ~/.inputrcफ़ाइल में होता है। आप यहाँ इसman readline तरह से ऑनलाइन दस्तावेज़ में बाँधने योग्य आदेशों की एक बड़ी सूची प्राप्त कर सकते हैं।

तो अपने प्रश्न का उत्तर देने के लिए, आप यह पढ़ना चाहते हैं कि रीडलाइन क्या करता है जब वह C- → और C--देखता है कि यह आपके लिनक्स सर्वर पर क्या करता है।

एक ~/.inputrcफ़ाइल के लिए वाक्यविन्यास आप क्या करना चाहते हैं के लिए बहुत सरल है key-sequence: action:।

यह वही होना चाहिए जो आपको वांछित व्यवहार प्राप्त करने के लिए चाहिए:

"\e[5C": forward-word
"\e[5D": backward-word

यहां अतिरिक्त उपयोगी बाइंडिंग के साथ एक और पृष्ठ है

(आप शायद अपने linux बॉक्स से अपने OS X ~ / .inputrc में कॉपी / etc / inputrc लेकर भाग सकते हैं।)


एक नोट: यदि आप xterm-keys के साथ tmux का उपयोग कर रहे हैं, तो आपको इसकी आवश्यकता भी होगी \e[1;5Cऔर \e[1;5Dट्रिगर भी forward-wordऔर backward-word
अर्ने

3
एक और नोट: यदि अभी भी काम नहीं कर रहा है, तो यह मिशन नियंत्रण / रिक्त स्थान के साथ एक शॉर्टकट संघर्ष के कारण हो सकता है। सिस्टम वरीयताएँ -> कीबोर्ड -> शॉर्टकट -> मिशन नियंत्रण, एक जगह छोड़ दिया / सही स्थानांतरित करें
bhh1988

मुझे समझ में नहीं आता "OS X डिफ़ॉल्ट रूप से इमैक कुंजी बंधन का उपयोग करता है।" "Ctrl-arrow" एक emacs कुंजी बाइंडिंग भी है।
ग्रेग

3

~/.inputrcनिम्नलिखित पंक्तियों में डालें:

"\e[5C": forward-word
"\e[5D": backward-word

0

इन दिनों ऐसा लगता है कि टर्मिनल में Ctrl-Arrows आउटपुट से बचने के क्रम बदल गए हैं। आज के अनुसार (2018 के अंत में) मेरे लिए क्या काम करता है:

"\e[1;5C": forward-word "\e[1;5D": backward-word

नोट: आप हमेशा cat -vटर्मिनल में टाइप करके और Ctrl-Left Arrow या Ctrl-Right Arrow को दबाकर वास्तविक पलायन क्रम का पता लगा सकते हैं । यहाँ मेरे खुद के Ctrl-Left एरो के लिए एक नमूना आउटपुट है:

^[[1;5C ^[[1;5C

.inputrcलिंगो में अनुवाद करने के लिए, भागने के संकेत ^[को प्रतिस्थापित करें \eऔर परिणाम को दोहरे उद्धरण चिह्नों के साथ चिपका दें।


0

जैसा कि @ bhh1988 ने उल्लेख किया है, मिशन कंट्रोल कॉन्फ़िगरेशन में तीर कुंजियों के साथ काम करने वाले Ctrl-Keys को रोकता है bash। मैं उन शॉर्टकट के साथ हस्तक्षेप नहीं करना चाहता था, इसलिए मैं इसके बजाय विकल्प (यानी Alt) कुंजी का उपयोग करता हूं। वर्तमान में एक जर्मन कीबोर्ड का उपयोग कर Mojave पर (पता नहीं है कि क्या यह प्रासंगिक है) मैंने शब्दों के बीच स्थानांतरित .inputrcकरने के लिए विकल्प-बाएं-तीर और विकल्प-दाएं-तीर का उपयोग करने के लिए निम्नलिखित रखा है ।

"\e\e[C": forward-word
"\e\e[D": backward-word

0

अद्यतन जनवरी 2020

OSX के नवीनतम संस्करणों में डिफ़ॉल्ट शेल है zsh। इसलिए ctrl-arrowleft और ctrl-arrowright प्राप्त करने के लिए जादू झुकाव को उम्मीद के मुताबिक काम करना निम्नलिखित है:

bindkey '^[[1;5D' backward-word
bindkey '^[[1;5C' forward-word

(इसे अपने में रखें .zshrc)

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