Emacs अप / डाउन इवेंट्स का समर्थन क्यों नहीं करता है


9

AFAIK emacs keyup/keydownकेवल घटनाओं का समर्थन नहीं करता है keypressed। एक परिणाम का एक उदाहरण यह है कि जब हम किसी क्षेत्र को चिन्हित करना चाहते हैं तो हमें पहले एक चिह्न set-mark-commandलगाना होगा और फिर बिंदु पर घूमकर क्षेत्र को चिह्नित कर सकते हैं। हालांकि यह वास्तव में एक दिलचस्प विशेषता है क्योंकि आपको पाठ को चिह्नित करते समय दबाए गए शिफ्ट कुंजी को रखने की आवश्यकता नहीं है, कभी-कभी अन्य संपादकों की तरह ही व्यवहार करना वांछनीय होगा। यह प्रश्न यह समझना है कि एमएसीएस इस सुविधा का समर्थन क्यों नहीं करता है और इसे बेहतर क्यों माना जाता है । इसके अलावा एक विचारधारात्मक दृष्टिकोण है कि हम इसे ईमैक में कैसे हल कर सकते हैं?


6
Emacs एक टर्मिनल में भी काम करता है, और कुंजी अप / डाउन इवेंट उस वातावरण में कोई मतलब नहीं रखते हैं। काफी संभावना है, कम से कम एक ऐतिहासिक कारण है कि इन घटनाओं का समर्थन नहीं किया जाता है। इसका मतलब यह नहीं है कि वे हालांकि समर्थित नहीं हो सकते । मुझे संदेह है कि किसी ने भी इसके साथ परेशान करने के लिए पर्याप्त दबाव की आवश्यकता नहीं देखी है।
हेराल्ड हैन्च-ऑलसेन

1
ठीक है कि एक वैध तर्क है, हालांकि emacs में अन्य विशेषताएं हैं जो केवल एक ग्राफिकल वातावरण (फोंट, माउस ईवेंट, आदि) में काम करती हैं
शाफ्ट

3
मैंने कुछ कोड लिखे जो कि किसी फाइल को कुंजी डाउन करने के लिए कुंजी अप / डाउन इवेंट को सिमुलेट करता है, फिर की-अप पर प्रीव्यू बफर को बंद करता है, जैसे उत्तर कहता है कि यह हैक है, लेकिन शायद इसे कुछ स्थिर में ढाला जा सकता है। emacs.stackexchange.com/questions/275/…
जॉर्डन

3
"अन्य संपादकों के समान व्यवहार" क्या आप [मैं उन अन्य पाठ संपादकों का उपयोग नहीं करते हैं] की बात कर रहे हैं? बाकी पाठ "शिफ्ट + मूवमेंट टू सिलेक्ट" पर संकेत देते हैं, लेकिन यह Emacs में पहले से ही समर्थित है।
स्टीफन

4
हालाँकि, आप सही हैं कि ये महत्वपूर्ण ईवेंट Emacs में मौजूद नहीं हैं, आपको पता होना चाहिए कि Emacs शिफ्ट चयन का समर्थन करता है (यदि यही आपके प्रश्न से प्रेरित है)।
मालाबार

जवाबों:


2

जैसा कि ऐतिहासिक कारण के लिए टिप्पणियों में उत्तर दिया गया है कि एमएसीएस टर्मिनलों में चलते हैं और वे उपकरण चरित्र उन्मुख होते हैं - कीबोर्ड पर ऐसा होने पर आपको बिना किसी गारंटी के बाइट अनुक्रम प्राप्त होता है।

चर्चा यह भी इंगित करती है कि ग्राफिकल पर्यावरण के लिए इसे लागू करना संभव है। लेकिन इसमें किसी की दिलचस्पी नहीं है।

ध्यान दें कि खेल या संगीत सॉफ़्टवेयर जैसे कुछ प्रोग्राम विस्तृत जानकारी का उपयोग कर सकते हैं जब कुंजी दबाया जाता है, कब तक और कब जारी किया जाता है, लेकिन पाठ संपादन में इन के बारे में कुछ भी सामान्य नहीं है।

मैनुअल से (info "(elisp)Mouse Events"):

Emacs supports four kinds of mouse events:
click events, drag events, button-down events, and motion events.

हॉवर घटना को निष्क्रिय टाइमर द्वारा अनुकरण किया जा सकता है - देरी के बाद बिंदु पर विश्लेषण करना।

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