2013-02-15 40 views
12

मै मैक ओएस एक्स टर्मिनल में Emacs का उपयोग कर रहा हूं, होमब्री के साथ स्थापित है।Emacs में सीएमडी कुंजी-बाध्यकारी कैसे सेट करें?

मेरी सीटीआरएल कुंजी मेरी सी कुंजी है, और एएलटी कुंजी मेटा है।

मैं सीएमडी कुंजी संयोजनों के लिए कुंजी-बाइंडिंग कैसे परिभाषित करूं?

उदाहरण के लिए, मैं लाइन के अंत में जाने के लिए सीएमडी- (दायां तीर) सेट करना चाहता हूं।


संपादित

मैं कोशिश की है @ नीचे

(setq mac-command-modifier 'super) 
(global-set-key (kbd "s-<right>") 'move-end-of-line) 

nickcarlo के सुझाव मुझे नहीं लगता कि सीएमडी कुंजी ठीक से सुपर करने के लिए सेट किया जा रहा है, के बाद से मैं में s-foo नहीं दिख रहा है मिनी-बफर जैसा कि मैंने C-x या M-x या कुछ भी टाइप किया था। मैंने देखा कि सीएमडी-दाएं, जब मेरे पास दो टर्मिनल खिड़कियां खुलती हैं, तो दो टर्मिनल विंडो के बीच स्विच हो जाती है, इसलिए मैंने सोचा कि शायद किसी भी कस्टम सेटिंग को अवरुद्ध कर दिया जा सकता है। हालांकि, मैं करने की कोशिश की:

(global-set-key (kbd "s-9") 'move-end-of-line) 

.. और अध्यक्ष एवं प्रबंध निदेशक-9 अभी भी कुछ नहीं करता है मुझे बताने की मैंने कुछ गलत किया है दबाया बीप को छोड़कर।

(global-set-key (kbd "C-w") 'move-end-of-line) 
+4

AFAIK है, तो आप इस जब तक आप एक टर्मिनल के अंदर Emacs चलाने के रूप में नहीं कर सकते। मैक cmd संशोधक के माध्यम से पारित नहीं किया गया है (और मानक टर्मिनल प्रोटोकॉल/चरित्र सेट में भी एन्कोडेबल नहीं हो सकता है)। यदि आप इसे काम करना चाहते हैं तो आपको एप्लिकेशन के रूप में Emacs.app चलाने के बारे में सोचना चाहिए। –

उत्तर

11

आप की तरह कुछ के साथ सेट कर सकते हैं:

(global-set-key (kbd "s-<right>") 'move-end-of-line) 

"एस" अपने आदेश कुंजी के संदर्भ में किया जा रहा है

गैर सीएमडी कुंजी कॉम्बो स्थापना ठीक काम करने के लिए, की तरह लगता है ।

पीएस: मैं अभी अपने मैक पर नहीं हूं इसलिए मुझे यकीन नहीं है कि आपको इसे लाइन के अंत में स्थानांतरित करने के लिए निर्दिष्ट विशिष्ट कुंजी पर सेट करने के लिए वास्तव में क्या लिखना है, लेकिन कमांड का प्रतिनिधित्व करता है emacs में एस है।

EDIT बस मेरे मैक पर इसका परीक्षण किया। यह वह सटीक कोड है जिसे आप लिखते हैं (यदि आप इसे वैश्विक रूप से सेट करना चाहते हैं) तो अपने कर्सर को लाइन के अंत में ले जाने के लिए अपनी कमांड कुंजी + दायां तीर कुंजी बांधने के लिए।

यदि उपरोक्त काम नहीं करता है, तो आप भी

(global-set-key (kbd "\s <right>") 'move-end-of-line) 

के ऊपर एक के बीच अंतर की कोशिश कर सकते हैं और इस एक है कि इसके बाद के संस्करण CMD + का अधिकार बराबर है और यह एक अध्यक्ष एवं प्रबंध निदेशक के बराबर और उसके बाद जारी सीएमडी और दाएं कुंजी मारा। दोनों मेरे सिस्टम पर ओएस एक्स पर काम करते हैं।

इसके अलावा निम्नलिखित पोस्ट की जाँच अपने अध्यक्ष एवं प्रबंध निदेशक के मामले में सुपर कुंजी के रूप में स्थापित करने के लिए अपने Emacs पहले से ही इस तरह के रूप में यह दर्ज नहीं करता:

http://ergoemacs.org/emacs/emacs_hyper_super_keys.html

विशेष रूप से, आप स्थापित करने के लिए निम्न कोड का उपयोग कर सकते सुपर के रूप में अपनी सीएमडी कुंजी ऊपर:

(setq mac-command-modifier 'super) 
+0

इसे काम करने के लिए नहीं मिल सकता है। मुझे कहना चाहिए कि मैं Emacs Live का उपयोग कर रहा हूं - https://github.com/overtone/emacs-live .. हालांकि, मैंने एक सादे वेनिला emacs की कोशिश की और अभी भी कोई परिणाम नहीं है। यह कोड - https://github.com/lest/emacs-config/blob/master/rc-hotkeys.el - ऐसा लगता है कि प्रारूप होना चाहिए, लेकिन यह अभी भी काम नहीं करता है। ऐसा लगता है कि बाध्यकारी सिर्फ पंजीकरण नहीं करता है। – cannyboy

+0

@cannyboy मुझे मैकपोर्ट्स (पोर्ट इंस्टॉल emacs-app) से Emacs की मेरी प्रति मिली है, शायद यही कारण है कि मैं इसे उपरोक्त कोड के साथ काम करने के लिए प्राप्त कर सकता हूं। मैंने कभी भी इमाक्स लाइव का उपयोग नहीं किया है, इसलिए मुझे यकीन नहीं है कि यह मेरे पास से अलग कैसे है। –

+0

@cannyboy एक बार जब आप इस लाइन या इस तरह की कोई अन्य पंक्ति लिखते हैं, तो लाइन के अंत में जाएं और सी-एक्स सी-ई निष्पादित करें और देखें कि यह नीचे मिनी-बफर में कार्यक्षमता का नाम प्रदर्शित करता है या नहीं। आप सी-एच बी करके अपनी कुंजी बाइंडिंग भी देख सकते हैं और देख सकते हैं कि यह वहां सूचीबद्ध है या नहीं। –

1

चरण 1: सीएक्स सीएफ .emacs // खुलता है।Emacs फ़ाइल

चरण 2: .emacs फ़ाइल

;; changing the command to control 
    (setq mac-command-modifier 'control) 

चरण 3 के अंत में निम्नलिखित लाइनों जोड़ें: सहेजें .emacs फ़ाइल

चरण 4: एमएक्स eval-बफर // एमएक्स = Alt -x // यह मूल्यांकन करता है .emacs बफर और reloads Emacs

चरण 5: लाइन के अंत में जाने के लिए सीएमडी-ई का प्रयास करें। // अब सीएमडी नियंत्रण

चरण 6: अभी भी सीएमडी-ई काम करता है Emacs को पुनरारंभ नहीं करता है।

Emacs का उपयोग करने का आनंद लें!

+0

क्या यह उसकी कमांड कुंजी को उसकी कंट्रोल कुंजी के रूप में सेट नहीं करेगा? मुझे नहीं लगता कि वह यही करना चाहता है। –

+1

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

+1

मैं समझता हूं कि यह ओएस एक्स इमाक्स समुदाय का सामान्य अभ्यास प्रतीत होता है (मेरे बाद नहीं, हालांकि मेरे पास अन्य परिचालनों के लिए सीएमडी कुंजी है)। मैं बस इतना कह रहा था कि मुझे नहीं लगता कि पोस्ट को मेटा ऑपरेशंस को अपनी सीएमडी कुंजी में बदलना है। –

6

Aquamacs में, क्या मेरे लिए काम किया निम्नलिखित

(global-set-key (kbd "A-r") 'my-command) 
+2

बहुत बहुत धन्यवाद। यही वह था जो मैं अपने एक्वामाक्स की तलाश में था :) – shivams