निर्देशिका में निर्देशिका में जाने के लिए "^" के बाद "स्पेस" टाइप करने से कैसे बचें?


9

^मूल निर्देशिका dired("ऊपर निर्देशिका") में जाने के लिए महत्वपूर्ण बंधन है ।

हालांकि, में Gnu Emacsपर Windows 7 Professional 64-bitमेरी जर्मन कीबोर्ड लेआउट के साथ, यह पर्याप्त नहीं टाइप करने के लिए "^" है, लेकिन मैं बाद में अंतरिक्ष टाइप करने के लिए कुंजी-बाइंडिंग काम करने के लिए किया है।

मैं स्पेस को दबाने से बचने के लिए की-बाइंडिंग को कैसे फिर से परिभाषित कर सकता हूं और केवल "^" के साथ ऊपर की ओर बढ़ सकता हूं?


C-h k ^<space> रिटर्न

^ कमांड डेयर-अप-डायरेक्टरी चलाता है, जो `डेयर + .el 'में एक इंटरैक्टिव संकलित लिस्प फ़ंक्शन है।

यह ^, के लिए बाध्य है।

(दिनांकित-अप-निर्देशिका और वैकल्पिक अन्य-खिड़की)

वर्तमान निर्देशिका के मूल निर्देशिका पर चलाए गए रन। इस बफ़र या किसी अन्य बफ़र में पैरेंट निर्देशिका ढूँढें। यदि आवश्यक हो तो एक बफर बनाता है।


4
यह एक OS मुद्दा है क्योंकि यह व्यवहार चिपचिपा कुंजी की तरह लगता है और इसे कुछ कीमैप में बनाया जाता है, जैसे कि us-intlलिनक्स पर।
वामासा

वामासा जैसी आवाज़ सही है, इस मामले में आपको यह पूछना चाहिए कि कमांड को एक अलग कुंजी से कैसे बांधा जाए।
एंड्रयू स्वान

@AndrewSwann: हो सकता है, शायद नहीं। जांच करना अच्छी बात है, हां। लेकिन लिनक्स व्यवहार यहां अप्रासंगिक होना चाहिए, यह मानते हुए कि microsoft-windowsटैग उपयुक्त है।
ड्रू

इसके लिए जाँच का सबसे सरल तरीका यह होगा कि क्या समान व्यवहार अन्य कार्यक्रमों पर लागू होता है, जैसे कि टाइप ^करके notepad.exe
वामासा

3
मुझे लगता है कि आपके पास केवल कुछ विकल्प हैं: (1) एक अलग कीबोर्ड लेआउट का उपयोग करें जिसमें ^ एक मृत कुंजी नहीं है - यह ओएस स्तर पर किया जाता है, न कि एमएसीएस में, या (2) कुछ अन्य कुंजी को इसमें बांधें dired-up-directoryऔर इसका उपयोग करें इसके बजाय, (3) समस्या के साथ रहते हैं, और ^ के बाद स्थान टाइप करते हैं। मैं खुद (3) के साथ जा रहा हूं, लेकिन मैं इसे परेशान कर रहा हूं
हेराल्ड हैन्च-ऑलसेन

जवाबों:


11

आपके कीबोर्ड सेटअप के साथ, कुंजी ^ संभवतः "मृत कुंजी" है। यह एक अन्य चरित्र के उत्पादन के क्रम में एक दूसरे के साथ संयोजन के रूप में इस्तेमाल होने वाली एक कुंजी है। इस मामले में, यह उच्चारण पात्रों का उत्पादन करने के लिए है: ^ ई ê का उत्पादन करेगा, ^ एक का उत्पादन करेगा इत्यादि।

हालांकि यह emacs के लिए विशिष्ट नहीं होना चाहिए: मुझे लगता है कि आपके सभी एप्लिकेशन को आपको ^ पर हिट करने और स्क्रीन पर वास्तविक ^ का उत्पादन करने की आवश्यकता है।

इसे हल करने के लिए, आपको बस एक और कीबोर्ड लेआउट का उपयोग करना होगा। विंडोज़ वातावरण में आपके जर्मन लेआउट के मामले में, मैं बस /superuser/280005/how-to-make-and-non-dead-keys-on-windows-7- जर्मन-कीबोर्ड-लेआउट के साथ , उम्मीद है कि यह सही काम है।


0

मुझे लगता है कि आपने ^Dired में बाध्यकारी होने की पुष्टि कर दी है dired-up-directory, इसलिए जो आदेश दिया जाता है वह समस्या नहीं है, जब तक कि आप या आपके द्वारा लोड की गई कोई भी चीज उस कमांड को सलाह न दे। (उपयोग करें C-h k ^, और हमें बताएं कि क्या कमांड की सलाह दी जाती है।)

आपने इसके साथ टैग किया है microsoft-windows। हो सकता है कि आपके द्वारा उपयोग किए जाने वाले एमएस विंडोज संस्करण का उल्लेख करें। मैं इसे विंडोज 7 64-बिट के साथ नहीं देखता हूं।

क्या आप एक ही व्यवहार देखते हैं यदि आप एमएसीएस का उपयोग करके शुरू करते हैं runemacs -Q, अर्थात बिना इनिट फ़ाइल के? यदि हां, तो कृपया यहां से एक नुस्खा दें, जिससे शुरू हो runemacs -Q। उस मामले में, यह एक Emacs बग हो सकता है।

यदि आप समस्या को emacs -Qतब तक नहीं देखते हैं, जब तक कि आप अपनी इनिट फ़ाइल को पुन: प्राप्त न कर लें, जब तक कि आप अपराधी को खोजने के लिए उसे संकीर्ण न कर दें। आप comment-regionकोड के क्षेत्र पर टिप्पणी करने के लिए कमांड का उपयोग कर सकते हैं ( C-uइस क्षेत्र को अनियंत्रित करने के लिए इसका उपयोग करें )।

एक बार जब आप अपराधी कोड पाते हैं, तो आप अधिक बारीकी से जांच कर सकते हैं। या आप यहां रिपोर्ट कर सकते हैं कि आपको क्या मिला है, अगर आपको आगे मदद की आवश्यकता है। सर्वोत्तम सहायता के लिए, यथासंभव विशिष्ट रहें।

कुंजी को फिर से परिभाषित करने के लिए: यह एक समस्या नहीं है - बस उपयोग करें (define-key dired-mode-map SOME-KEY 'dired-up-directory), जहां SOME-KEYएक महत्वपूर्ण विवरण है। उदाहरण के लिए, कमांड को बांधने के लिए C-o, आप इसका उपयोग कर सकते हैं:

(define-key dired-mode-map (kbd "C-o") 'dired-up-directory)

आपकी टिप्पणी और अन्य के बाद अपडेट किया गया -

चूंकि आप उसी चीज़ को देखते हैं emacs -Q, इसलिए समस्या या तो आपके MS Windows सेटअप (यानी, Emacs के बाहर) में या Emacs में ही एक बग है।

लेकिन अन्य टिप्पणियों से स्पष्ट हो जाता है कि यह समस्या एमएस विंडोज में चिपचिपी कुंजी है। चिपचिपा चाबियाँ बंद करने की कोशिश करो ।


3
इस बिंदु के पास लगभग निश्चित रूप से है। @Wasamasa द्वारा टिप्पणी पूरी तरह से प्रासंगिक है, हालांकि। थोड़ा विस्तार करने के लिए, मुद्दा यह है कि जब से ^ चिपचिपा है, emacs भी keypress घटना को नहीं देखता है जब तक कि उपयोगकर्ता एक स्थान टाइप नहीं करता है।
हेराल्ड हैन्च-ऑलसेन

आपके विस्तृत उत्तर के लिए धन्यवाद! हाँ, इसके साथ भी runemacs.exe -Qऐसा ही है। एक बफर में टाइपिंग ^ केवल चरित्र दर्ज करता है, अगर मैं <स्पेस> टाइप करता हूं या बाद में एक और कुंजी। diredमोड में ही , इसे ^1 <space>ऊपर जाने की जरूरत है। के लिए define-key: लेकिन मैं इस बंधन के लिए ^ कुंजी का उपयोग करना चाहूंगा, क्या इससे बचने के लिए कोई रास्ता है <space>?
ज्यादातर घुमंतू

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