2010-02-01 7 views
9

शायद यह सवाल अंग्रेजी में पूछने के लिए थोड़ा अजीब है क्योंकि मेरी समस्या एक गैर-अंग्रेजी है। मैं एक मैक ओएस एक्स उपयोगकर्ता हूं और मैं Emacs सीखने के लिए अपने रास्ते पर हूँ। मैंने Emacs 23.1 कोको का उपयोग करने का निर्णय लिया कि डिफ़ॉल्ट रूप से मैक कुंजीपटल के रूप में मैक कीबोर्ड की alt/option key का उपयोग करता है। {}[]मैक ओएस एक्स पर Emacs का उपयोग करते समय जर्मन कीबोर्ड से निपटने का एक अच्छा तरीका क्या है?

जर्मन कीबोर्ड लेआउट आप पर इन पात्रों प्राप्त करने के लिए: लेकिन क्योंकि मैं जर्मन हूँ और मैं एक जर्मन कीबोर्ड का उपयोग कर रहा हूँ, ज़ाहिर है, यह parantheses कि प्रोग्रामिंग बड़े पैमाने पर के लिए आवश्यक हैं में प्रवेश के लिए काफी मुश्किल हो

M-5 
M-8 

दोनों चल वीं के

alt-5 for '[' 
alt-8 for '{' 

जो ऊपर वर्णित स्थिति के अनुसार अनुवाद: निम्न कुंजी प्रेस करने ईएक्स में ई कमांड digit-argument

मुझे सच में यकीन नहीं है कि इस मुद्दे को कैसे प्राप्त किया जाए। मुझे पता है कि आप वास्तविक कुंजी को बदल सकते हैं जिसे मेटा कुंजी के रूप में उपयोग किया जाना चाहिए (उदा। मैं मेटा कुंजी को कमांड कुंजी के रूप में बदल सकता हूं)। लेकिन मुझे लगता है कि हर विकल्प एक लागत पर आएगा और कुछ स्पष्ट नुकसान होंगे क्योंकि यह कुछ पूर्वनिर्धारित ओएस व्यवहार को ओवरराइड करता है जिसे विदेशी भाषा कीबोर्ड के साथ संपादित करते समय आवश्यक हो सकता है।

अभी के लिए, मेरे लिए सबसे अच्छा विकल्प सीएपीएस लॉक कुंजी का उपयोग मेटा कुंजी के रूप में करना प्रतीत होता है क्योंकि यह विकल्प प्री-मौजूदा कुंजी संयोजनों में हस्तक्षेप नहीं करता है।

इस मुद्दे से संबंधित आपके अनुभव क्या हैं? कोडिंग करते समय क्या आप (गैर-अंग्रेजी) अंग्रेजी कीबोर्ड (लेआउट) का उपयोग करते हैं? क्या आप इस तरह के संदर्भ पर निर्भर कीबोर्ड लेआउट के साथ मिश्रित नहीं हो? या क्या कुछ सर्वोत्तम प्रथाएं मौजूद हैं जो जर्मन या इसी तरह के कीबोर्ड पर मेटा कुंजी के रूप में उपयोग करने के लिए महत्वपूर्ण हैं? या यहां तक ​​कि कुछ विन्यास विकल्प भी?

+0

टैग 'जर्मन' को [** 2012 क्लीनअप **] के हिस्से के रूप में हटाया गया है (http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of -2012)। –

उत्तर

1

आप "कमांड" दबा सकते हैं मेटा कुंजी होने और सामान्य विकल्प कुंजी होने के बीच विकल्प कुंजी को बदलने के लिए। मेरा मानना ​​है कि आप इसे एक महत्वपूर्ण अनुक्रम के बीच में भी कर सकते हैं। जब मुझे Emacs में diacritics दर्ज करने की आवश्यकता है, तो मैं बस "कमांड" दबाएं Emacs में विभिन्न इनपुट मोड का उपयोग करने के बजाय। आप विकल्पों के माध्यम से सेटिंग तक पहुंच सकते हैं -> विकल्प -> विकल्प कुंजी मेटा है।

दूसरा विकल्प आपकी .emacs फ़ाइल में कुंजी को रीबिंड करना है।

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

6

कुछ अभ्यास के साथ, आप मानसिक रूप से यूएस और डी कीबोर्ड लेआउट के बीच स्विच कर सकते हैं - यहां तक ​​कि स्वैप वाई और जेड थोड़ी देर के बाद दूसरी प्रकृति बन जाते हैं। जर्मनी में काम करते हुए मैंने वर्षों से ऐसा किया।

लेकिन यूएस कीबोर्ड लेआउट के साथ भी, ऐसे वर्ण हैं जिन्हें आप Alt के बिना दर्ज नहीं कर सकते हैं। मैं इस कारण से व्यक्तिगत रूप से कमांड के रूप में कमांड का उपयोग करता हूं, अंतर्निहित ओएस एक्स मृत-कुंजी के लिए Alt/Option को छोड़कर, उदा। "Alt-शिफ्ट -2" => €, "alt-ए ई" => ई:

(setq mac-command-modifier 'meta 
     mac-option-modifier 'none 
     default-input-method "MacOSX") 

एक अन्य विकल्प की तरह "समस्या" कुंजी {} कीबोर्ड-अनुवाद समारोह का उपयोग कर स्थानांतरित करने के लिए किया जाएगा।

+0

यह कमाल काम करता है! यदि आप "वास्तविक" आईएसओ जर्मन कीबोर्ड चाहते हैं, तो आप इसी कुंजीपटल लेआउट को भी इंस्टॉल कर सकते हैं, http://codewut.de/content/pc-keyboard-layout-mac-german देखें। यदि आप अंधेरे प्रकार को स्पर्श करने में सक्षम हैं तो आप cmd को alt के साथ भी स्विच कर सकते हैं और आपके पास लगभग सामान्य जर्मन कीबोर्ड है। – ayckoster

+0

व्यक्तिगत रूप से (स्वीडिश/फिनिश कीबोर्ड के साथ) मुझे मैक-राइट-ऑप्शन-मॉडिफायर को 'none' पर सेट करने के लिए उपयोगी लगता है, लेकिन बाएं को छोड़कर 'मेटा' छोड़ दें। फिर मैं उन ब्रैकेट आदि प्राप्त करने के लिए दाएं Alt कुंजी का उपयोग कर सकता हूं, और बायां एक मेटा कुंजी के रूप में काम करता है। कौन सा अच्छा है, अगर कोई पहले से ही इस्तेमाल हो चुका है या इसका उपयोग किया जा सकता है। – tml

1

एक्वामाक्स (http://aquamacs.org/) Emacs का एक मैक-फ्रेंडली संस्करण है। उनके पास कोको और इमाक्स 23.1 के आधार पर एक पूर्वावलोकन (और नाइटलीज़) है।

एक्वामाक्स के पास मूल मैक कीबाइंडिंग और देशी एमएक्स बाइंडिंग के बीच विभिन्न चरणों में विकल्प कमांड और मेटा को पुन: स्थापित करने का विकल्प होता है। आपको अपनी उंगलियों के अनुरूप एक मंच ढूंढने में सक्षम होना चाहिए।

2

मुझे एहसास है कि यह एक पुराना सवाल है, लेकिन मैंने बस मैक पर स्विच किया और इसी तरह की समस्याएं थीं (हालांकि डेनिश कीबोर्ड लेआउट के साथ)।

मेनू से Options ->Option, Command, Meta keys ->Right Option is Meta चुनें। अब आप मेटा के रूप में दाएं Alt कुंजी का उपयोग कर सकते हैं, जबकि बाएं Alt कुंजी को बिना छूटा छोड़ा गया है। उदाहरण के लिए। आप इसे "असामान्य" वर्ण टाइप करने के लिए उपयोग कर सकते हैं (यदि आप प्रोग्रामर हैं तो असामान्य नहीं हो सकता है)।

... Meta & German (और अन्य लैंगेज) का चयन भी है, जो आपके लिए काम कर सकता है। हां, डेनिश के लिए कोई चयन नहीं है, इसलिए मुझे Right Option is Meta

0

के साथ रहना होगा आप Emacs 22 कॉन्फ़िगरेशन का उपयोग कर सकते हैं, जो कि ठीक काम करने के लिए उपयोग किया जाता है।

(setq mac-option-key-is-meta nil) 
(setq mac-command-key-is-meta t) 
(setq mac-command-modifier 'meta) 
(setq mac-option-modifier nil) 
1

मैं सुझाव here का उपयोग कर समाप्त हुआ। यह अपने Emacs में यह उपयोग करने की सलाह

(setq ns-right-alternate-modifier nil) 

विन्यास सही ऑल्ट/विकल्प कुंजी के लिए Emacs 'डिफ़ॉल्ट व्यवहार पुनर्स्थापित करने के लिए। यह emacs को इस कुंजी पर प्रतिक्रिया करने से रोकता है, जिससे ओएस इसे सामान्य तरीके से निपटने की इजाजत देता है।

मुझे यह एक अच्छा समाधान माना गया क्योंकि यह समाधान के अनुरूप है कि आईटर्म में मेरे काम पर लोग उन्हें [] {} | \ तक पहुंचने की अनुमति देते हैं और बैश कमांड लाइन नेविगेशन का लाभ भी लेते हैं alt/meta-f, -b, -d, और इसी तरह की बाइंडिंग्स।

संक्षेप में, इस कॉन्फ़िगरेशन का उपयोग करके, मुझे केवल दर्द का सामना करना पड़ रहा था [] {} | \ और इसी तरह, और emacs आदेशों के लिए बाएं-alt के लिए दाएं-alt का उपयोग करने के लिए उपयोग किया जा रहा था।

आखिरकार, उपरोक्त लिंक एक्वामाक्स के लिए विशिष्ट था, लेकिन मैं पुष्टि कर सकता हूं कि होमब्री के लिए वेनिला एमएक्स इंस्टॉल भी विकल्प का समर्थन करता है।

+0

यह "मानक" जर्मन कीबोर्ड लेआउट (यानी विंडोज़) के साथ भी संगत है, जहां सही "alt-gr" आपको [] {} | \ और बाएं "alt" emacs के बॉक्स के बाहर काम करता है। – flooose

1

यह वास्तव में एक पुराना सवाल है। हालांकि, मुझे भी इसका सामना करना पड़ा और एक और समाधान है: प्रश्न में चाबियाँ दोबारा बांधें।

मैं के बाद से

  • IMHO Emacs meta और cmd (उर्फ super) कुंजी स्वैप करने के लिए नहीं करना चाहता था मानक मैक बाइंडिंग (बचाने के लिए जैसे cmd-s) बहुत अच्छी तरह से और
  • cmd कुंजी के लिए उपलब्ध रहता है का समर्थन करता है व्यक्तिगत शॉर्टकट्स (उदाहरण के लिए मैं cmd-w के साथ एक बफर को मारना पसंद करता हूं)

यहां केवल एक कुंजी को रीबंड करने के लिए कॉन्फ़िगर स्निपेट है मुर्गी पर एक मैक चल:

(if (eq system-type 'darwin) 
    (progn 
    ;; "fix" the broken keyboard 
    (global-set-key "\M-l" '(lambda() (interactive) (insert "@"))) 
    (global-set-key "\M-5" '(lambda() (interactive) (insert "["))) 
    (global-set-key "\M-6" '(lambda() (interactive) (insert "]"))) 
    (global-set-key "\M-7" '(lambda() (interactive) (insert "|"))) 
    (global-set-key "\M-/" '(lambda() (interactive) (insert "\\"))) 
    (global-set-key "\M-8" '(lambda() (interactive) (insert "{"))) 
    (global-set-key "\M-9" '(lambda() (interactive) (insert "}"))) 
    (global-set-key "\M-n" '(lambda() (interactive) (insert "~"))))) 

पेशेवरों/विपक्ष:

  • (+) आप मैक cmd कुंजी और मेटा Emacs कुंजी के लिए डिफ़ॉल्ट बाइंडिंग रहते हैं।
  • (-) आप स्पष्ट रूप से रीमेड कुंजी के लिए डिफ़ॉल्ट बाइंडिंग को खो देते हैं।
  • (?) यदि आपकी मांसपेशियों की स्मृति आपको अंग्रेजी कीबोर्ड पर दुर्घटना से चाबियाँ मारती है, तो यह अभी भी "सही/इच्छित वर्ण" को सम्मिलित करती है।

इसे somewhat outdated information in emacswiki.org रूप में अपनाया गया था।

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