अन्य OSes की तरह 'मेटा-की' का अनुवाद करने के लिए iTerm बनाना


179

Emacs की-बाइंडिंग के साथ bash शेल में, आप एक शब्द को क्रमशः आगे या पीछे की ओर ले जाने के लिए Mf, Mb जैसे प्रमुख संयोजन का उपयोग कर सकते हैं। आमतौर पर, मेटा कुंजी को विंडोज और लिनक्स पर Alt कुंजी में मैप किया जाता है। हालाँकि, iTerm में, मुझे अपने MacBook Pro पर विकल्प या कमांड कुंजी के लिए इस मेटा कुंजी को मैप करने का कोई तरीका नहीं मिला।

ऐसा लगता है कि OS X में, मेटा कुंजी ESC कुंजी के लिए डिफ़ॉल्ट रूप से मैप की गई है। इसलिए आप iTerm पर ESC-f, ESC-b का उपयोग कर सकते हैं। हालांकि, ESC कुंजी स्पष्ट रूप से उपयोग करने के लिए व्यावहारिक नहीं है। इसके अलावा, iTerm के पास विकल्प है जो आपको मेटा कुंजी (बुकमार्क> प्रोफ़ाइल> प्रोफ़ाइल> कीबोर्ड प्रोफ़ाइल> ग्लोबल> विकल्प कुंजी ...) के लिए मैपिंग को संशोधित करने की अनुमति देता है, यह सेटिंग बिल्कुल भी काम नहीं करती है।

इसलिए, अगर किसी को पता है कि इस समस्या का समाधान क्या है, तो कृपया मुझे बताएं।

मैंने नवीनतम रिलीज़ 0.9.6.1012 में अपग्रेड किया है, और यह व्यवहार अभी भी कायम है।

संपादित करें: मेरे प्रश्न के लिए कुछ स्पष्टीकरण। मैं जिस की-बाइंडिंग की बात कर रहा हूं वह बैश शेल के लिए है, न कि एमएसीएस में। यह बस होता है कि, डिफ़ॉल्ट रूप से, बैश शेल भी emacs के समान कुंजी-बाइंडिंग का उपयोग करता है।


थोड़ी देर के लिए इस मुद्दे के साथ खिलवाड़ करने और एक समाधान का पता नहीं लगा सकते हैं। मैंने हार मान ली और अब टर्मिनल में चला गया।
ईजेल

2
यह मत भूलो कि iterm2 पहले से मौजूद है और वहाँ सब कुछ ठीक है =)
होम्स

जवाबों:


207

Cmd+., Profiles, Keysऔर चुनें Left option Key acts as: +Esc

मेरे लिए emacs में काम करता है, हालांकि मुझे यकीन नहीं है कि इसका कोई अन्य अवांछनीय प्रभाव होगा।


मैंने सभी विकल्पों के साथ विकल्प कुंजी की कोशिश की ... लेकिन उनमें से कोई भी मेरे लिए बैश शेल में काम नहीं करता है। यह केवल "" दिखाता है? हर बार मैं मेटा कुंजी संयोजन दबाता हूं।
ईजेल

2
ऐसा लगता है कि आपकी इनपुट भाषा को काम करने के लिए + ईएससी विकल्प के लिए यूएस होना चाहिए। + ESC ने मेरे लिए तब काम नहीं किया जब मेरे पास जापानी / रोमाजी इनपुट पद्धति का चयन किया गया था, लेकिन एक बार जब मैंने इनपुट भाषा को यूएस में स्थानांतरित कर दिया तो यह काम करना शुरू कर दिया
डोमिनिक कॉनी ने

2
प्राथमिकताएँ, प्रोफ़ाइल, कुंजियाँ और वाम विकल्प चुनें प्रमुख कार्य इस प्रकार हैं: + Esc। फिर आपके पास मेटा कुंजी के रूप में बाएँ विकल्प कुंजी और Esc कुंजी दोनों होंगे। मेरे मामले में यही हुआ है।
cgl

ITerm 2 के साथ यह अनुशंसित विकल्प प्रतीत होता है।
ईजेल

4
अपने बाहरी कीबोर्ड के लिए मुझे उपयोग करने के लिए बाएँ और दाएँ दोनों विकल्प कुंजी सेट करने थे Esc+, भले ही मैं बाएँ विकल्प कुंजी का उपयोग कर रहा था लेकिन यह अभी भी अजीब अक्षर प्रिंट करेगा। ऐसा इसलिए हो सकता है क्योंकि मैं कुंजियों को बदलने के लिए मैक कीबोर्ड सेटिंग्स में कीबोर्ड मॉडिफ़ायर विकल्प का उपयोग करता हूं ।
ग्रेगो

130

बुकमार्क पर जाएं > प्रोफ़ाइल प्रबंधित करें । फिर कीबोर्ड प्रोफाइल> ग्लोबल चुनें और मेटा के रूप में विकल्प कुंजी चुनें । यह संस्करण 0.9.6.1201 में मेरे लिए काम करता है।


2
मुझे वैश्विक के बजाय xterm (OS X) प्रविष्टि को बदलना पड़ा, लेकिन यह अब काम कर रहा है।
जेसन एक्सलसन

मुझे नहीं पता कि मेरी मशीन पर सेटिंग 0.9.6.1201 पर टूटी हुई है और कई अन्य बिल्ड जो मैंने कोशिश की। हालांकि, यह नवीनतम 0.9.6 बिल्ड और 0.10 के साथ काम करता है। तो यह अब एक मुद्दा नहीं होना चाहिए।
इगेल

11
iTerm2 में मैंने प्रोफाइल शॉर्टकट कीज़ को फिर से परिभाषित करने के बाद ही यह काम कियाalt + ->और alt+ <-करने के लिए भागने अनुक्रम भेजें + f/ bक्रमशः।
अमिरिसिम

मैं में लात करने के लिए इसके लिए एक नया iterm सत्र खोलने के लिए था
Skurpi

@SridharRatnakumar iTerm के लिए भी काम करता है
Krzysztof Wende

31

मेनू बार में Iterm2 => प्राथमिकताएँ => प्रोफ़ाइल कुंजियाँ टैब चुनें और चुनें

बाएं विकल्प कुंजी अधिनियम के रूप में + Esc

यहां छवि विवरण दर्ज करें

मेरे लिए irssi में भी काम किया।


बहुत बढ़िया, यह iTerm2 + tmux के संयोजन में भी काम करता है
TheJavaGuy-Ivan Milosavljević

8

मुझे या तो Alt कुंजी काम नहीं कर पाई, लेकिन एक वर्कअराउंड है जो कर्सर कुंजियों के माध्यम से शब्द नेविगेशन के लिए कम से कम कार्य करता है:

Alt / Option + Left या Right Arrow Keys का उपयोग करके iTerm में Next या Previous Word पर जाएं


2
के लिए backward-delete-word((-DEL) एक हेक्स कोड भेजें 0x17, इनपुट की शुरुआत में कूदने के लिए (⎇- ←) भेजें 0x01और अंत में कूदने के लिए ()- →) भेजें 0x05
लेनार होयट

5

मैं iTerm2 का उपयोग करता हूं , और मेरे लिए, यह उत्तर मेरी समस्या को आंशिक रूप से हल करता है:

Cmd+ ,=> प्रोफाइल => कुंजी और वाम विकल्प चुनें प्रमुख कार्य इस प्रकार हैं: + Esc

यहां छवि विवरण दर्ज करें

इसके अलावा, मुझे Cmd+ ,=> प्रोफ़ाइल => कुंजी में जाना था और कुंजी मैपिंग सूची में दोनों कुंजी संयोजन मिलेंगे :यहां छवि विवरण दर्ज करें और यहां छवि विवरण दर्ज करें, उन्हें डबल क्लिक करें और उनके शॉर्टकट को निम्न में बदलें:

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

* चयन करना सुनिश्चित करें सेंड एस्केप सीक्वेंस एक्शन ।


यह वास्तव में मददगार है। बहुत बहुत धन्यवाद भाई!
लियोन - हान ली

4

सभी ज़ोंबी पुनरुत्थान यहाँ जा रहे हैं, लेकिन बाद के लिए -

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

सारांश में, अपने ग्लोबल कीबोर्ड प्रोफाइल में, सेटिंग्स के साथ दो नए मैपिंग जोड़ें:

  1. हेक्स कोड के रूप में कुंजी, बी के लिए 62 का मान, एफ के लिए 66 ( man ascii)
  2. विकल्प के रूप में संशोधक
  3. भागने के क्रम, मूल्य b या f के रूप में कार्रवाई करें

केवल एक चीज जो मुझे अब भी याद आती है, वह है टर्मिनल ।app Opt-Backspaceशब्द से हटाना है। इसके लिए अन्य वर्कअराउंड हैं, लेकिन मैं सिर्फ खुद को इस्तेमाल करने के लिए प्रशिक्षित करने की कोशिश कर रहा हूं Ctrl-w


इस उत्तर के बाद से एक नई सुविधा हो सकती है, लेकिन Ctrl-wजब Opt-Backspaceदबाया जाता है तो भेजने के लिए आप एक वैश्विक कुंजी शॉर्टकट मैप कर सकते हैं ।
स्टीव बुज़ोनास

4

यह iTerm2 में आसान है। वरीयताओं पर जाएं-> बुकमार्क-> कीबोर्ड और चयन का विकल्प भेजता है + ईएससी। ITerm2 में आप बाएँ और दाएँ विकल्प कुंजियों को अलग-अलग कॉन्फ़िगर कर सकते हैं, इसलिए यदि आप चाहते हैं तो दोनों को बदलना याद रखें। ITerm2 के लिए लिंक: http://sites.google.com/site/iterm2home/


2

बुकमार्क पर जाएं> प्रोफ़ाइल प्रबंधित करें। फिर कीबोर्ड प्रोफाइल> ग्लोबल चुनें और विकल्प कुंजी को + ईएससी के रूप में चुनें।

ITerm बिल्ड में काम करता है 0.9.5.0611 और 0.9.6.20090415 बिल्ड


हम्म। सेटिंग इन दो संस्करणों के साथ मेरी मशीन पर भी तोड़ी गई लगती है। हालाँकि, नवीनतम 0.9.6.20090928 और 0.10 उम्मीद के मुताबिक काम करते हैं।
ejel

2

मुझे स्टैकओवरफ्लो पर भी कुछ समाधान मिला, बस कीबोर्ड प्रोफाइल पर जाएं और "ग्लोबल" परिवर्तन "विकल्प कुंजी" + ईएससी के रूप में

कि मेरे लिए पूरी तरह से काम करता है =) btw कुछ iterm पैच यहाँ भी मौजूद है: http://www.emacswiki.org/emacs/EmacsForMacOS


0

"LANG = C" निर्यात करें। मैं एमएसीएस विशेषज्ञ नहीं हूं, लेकिन मैंने पाया कि यह ओएस एक्स पर ईमैक्स को सक्षम बनाता है ताकि विकल्प कुंजी को आइकॉन में मेटा कुंजी के रूप में पहचाना जा सके,


0

मैं iTerm के बारे में नहीं जानता, लेकिन आप टर्मिनल में ऐसा कर सकते हैं। यहाँ निर्देश मिल सकते हैं:

मैक ओएस एक्स तेंदुए की प्रमुख बाइंडिंग पर Emacs


धन्यवाद। मुझे पता है कि मैं टर्मिनल में ऐसा कर सकता हूं। मैं सिर्फ iTerm में एक ही परिणाम प्राप्त करना चाहता हूं। वैसे, मैं जिस चीज की तलाश कर रहा हूं, वह बैश शेल में की-बाइंडिंग है, एमएसीएस में नहीं। यह सिर्फ ऐसा होता है कि बैश शेल भी इमैक की बाइंडिंग का उपयोग करता है।
ईजेल

0

यहाँ मेरे लिए क्या काम किया गया है: बुकमार्क्स> प्रबंधित प्रोफाइल> कीबोर्ड प्रोफाइल> ग्लोबल / xterm> विकल्प कुंजी के रूप में + Esc। इसके साथ, मैं आधी रात के कमांडर में विकल्प + दर्ज का उपयोग कर सकता हूं और वर्तमान में चयनित फ़ाइल / निर्देशिका नाम कमांड स्ट्रिंग में दिखाता है, जैसा कि यह होना चाहिए। विकल्प कुंजी के रूप में मेटा मेरे लिए काम नहीं किया। ITerm का मेरा निर्माण 0.10 है।

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