2013-09-24 4 views
5

मैं emacs सीखने की कोशिश कर रहा हूं और emacs में किसी भी मेटा कमांड के लिए अपने कीबोर्ड पर सुपर कुंजी का उपयोग करना चाहता हूं, क्योंकि मैं अपने विंडो मैनेजर के रूप में dwm का उपयोग करता हूं और यह मेटा कुंजी का उपयोग करता है बड़े पैमाने पर। मैं this page पढ़ें, यह का उपयोग करemacs में मेटा कमांड के लिए उपयोगकर्ता सुपर कुंजी

(setq x-meta-keysym 'super) 
(setq x-super-keysym 'meta) 
कोई भाग्य के साथ

कोशिश करने के लिए है। आदर्श रूप से मैं उन्हें बस फ्लिप करना चाहता हूं, लेकिन केवल emacs में। जब मैं चर-एक्स-मेटा-कीजिम और एक्स-सुपर-कीजिम का निरीक्षण करता हूं तो सी-एच वी के साथ कमांड का मूल्यांकन सही तरीके से किया जाता है। जब मैं लिनक्स उपयोगिता xev के साथ सुपर कुंजी की जांच करता हूं तो यह पुष्टि करता है कि जिस कुंजी को मैं दबा रहा हूं उसे सुपर_एल में मैप किया गया है।

+0

यह मेरे लिए काम करता है। हालांकि, Emacs उन्हें देखे जाने से पहले, आपका विंडो प्रबंधक कुंजीपटल को रोक देगा। तो यदि आपका विंडो-मैनेजर सुपर कुंजी का उपयोग करता है, तो आपको ऐसे संघर्ष मिलेंगे जो ऐसा लग सकता है जैसे Emacs ठीक से काम नहीं कर रहा है। – Tyler

+0

जब मैं उनका उपयोग करता हूं, तो मैं एम-एक्स का उपयोग करने की कोशिश करता हूं और देखता हूं कि इसका कोई प्रभाव है या नहीं। जब मैं अपनी सुपर कुंजी के साथ प्रयास करता हूं, तो मैं बस एक्स को बफर में डालता हूं। लेकिन जब मैं मेटा कुंजी के साथ प्रयास करता हूं, तो एम-एक्स अभी भी काम करता है। तो मुझे विंडोज़ प्रबंधक नहीं लगता है। – adiviness

उत्तर

3

तो, यह पता चला है कि ऊपर दिए गए आदेश काम करते हैं जब टर्मिनल मोड में emacs का उपयोग नहीं किया जाता है। मैं इसे टर्मिनल में विशेष रूप से कोशिश कर रहा था, यही कारण है कि यह काम नहीं कर रहा था। मुझे यकीन नहीं है कि टर्मिनल में इसे कैसे ठीक किया जाए, लेकिन मुझे लगता है कि यह काफी अच्छा है।

संपादित करें: यह टर्मिनल एमुलेटर था जो कि emacs से पहले कुंजीपेशियों को घुमा रहा था, इसलिए मूल आदेश काम करते हैं, जब तक कि कीप्रेस वास्तव में इसे emacs बनाता है।

3

मैं @Tyler

से सहमत मेरे मामले में मैं खिड़की प्रबंधक के रूप में DWM उपयोग करते हैं, तो मेटा (एएलटी) कुंजी लगभग अपने सभी सुविधाओं को नियंत्रित किया जाता है। Emacs का उपयोग करते समय, मेटा कुंजी कुछ कुंजी बाइंडिंग के साथ संघर्ष करता है, उदाहरण के लिए: जब मैं एमएफ या एमबी शब्दों के आसपास घूम रहा हूं (यही कारण है कि मैं इस धागे पर आया;)), इसलिए मुझे इस समस्या से छुटकारा पाने के लिए तीन विकल्प मिले:

1) परिवर्तन Emacs कुंजी बाइंडिंग और मेटा कुंजी

(setq x-meta-keysym 'super 
     x-super-keysym 'meta) 

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

2) config.h फ़ाइल में मेटा के लिए मेटा के लिए dwm कुंजी बाध्यकारी बदलें। http://dwm.suckless.org/customisation/windows_key

/* key definitions */ 
-#define MODKEY Mod1Mask /* meta (ALT) key */ 
+#define MODKEY Mod4Mask /* super (windows or cmd) key */ 

3 में एक बार देख ले) xmodmap ओवरराइड सुपर और मेटा को mod4 को mod1 गमागमन कीमैप बाइंडिंग (क्या पहली नजर में रिटर्न xmodmap जाँच करने के लिए, और अन्य कार्यक्रमों की कीबाइंडिंग)

को प्रभावित नहीं सुनिश्चित हो अंत में, मैं अनुशंसा करता हूं कि डिफ़ॉल्ट emacs मेटा कुंजी को न बदलें क्योंकि आपकी उंगलियों के लिए कम आरामदायक है और आप धीरे-धीरे कीस्ट्रोक को प्रतिक्रिया दे सकते हैं। अपने पर्यावरण के आधार पर विकल्प 2 या 3 आज़माएं।

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