समस्या "<मृत-तीव्र> अपरिभाषित है" ग्रीक तनाव टाइप करते समय दिखाई देता है (')


11

मैंने Emacs का उपयोग करना शुरू कर दिया और मैंने ग्रीक में एक पाठ लिखा। समस्या यह है कि कुछ अक्षरों (ύ, stress, stress, ύ) पर उपयोग किया जाने वाला तनाव काम नहीं करता है!

इसे आम तौर पर दबाकर डाला जाता है ;(I का मतलब L के बगल में की दबाकर होता है) और फिर अक्षर जिस पर डाला जाएगा। यह एक ग्रीक कीबोर्ड के लिए मानक है। जब मैं ;इसे दबाता हूं तो यह कहता है:

<dead-acute> is undefined. 

C-h c ; एक ही बात कहता है।

मैं इस कुंजी का उपयोग करने में सक्षम होने के लिए क्या कर सकता हूं?

यह अन्य अनुप्रयोगों में काम करता है, जैसे कि ब्राउज़र। मैं Ubuntu 14.04 का उपयोग करता हूं और मैंने इसका emacsपैकेज (Emacs 24.3.1) स्थापित किया है ।


मैंने पहले भी इस मुद्दे का सामना किया है, लेकिन मुझे याद नहीं है कि इसका कारण क्या था। सुनिश्चित करें कि आपका ऑपरेटिंग सिस्टम Emacs के लिए अलग कीबोर्ड लेआउट का उपयोग नहीं कर रहा है। कुछ OS में एप्लिकेशन-विशिष्ट कीबोर्ड लेआउट हो सकते हैं, भले ही वह कुंजी हर जगह काम करती हो लेकिन समस्या सिस्टम में हो सकती है। अगर ऐसा नहीं है, तो मुझे यकीन है कि किसी ने आपका जवाब यहां दिया होगा। :-)
मालाबार

(यकीन नहीं होता कि यह मदद करता है।) मेरे पास यह समस्या है जो मेरे ओएस कीबोर्ड इनपुट मोड के आधार पर है। मेरा डिफ़ॉल्ट कीबोर्ड इनपुट 'डेड कीज़' का उपयोग करता है इसलिए मैं एक © çéñt 'जोड़ सकता हूं; लेकिन मैं कभी-कभी Emacs में ग्रीक (प्राचीन) इनपुट करना चाहता हूं greek-ibycus4, और दो सिस्टम क्लैश करते हैं। मैं अपने सामान्य इनपुट को गैर-मृत कुंजी लेआउट में बदलकर (इस तरह, उदाहरण के लिए setxkbmap -layout us) का उपयोग करके इस समस्या के आसपास काम करता हूं ; तब मैं मोड को एमएसीएस में बदल देता हूं; तब मैं ucsEmacs के लिए इनपुट विधि पर वापस लौटता setxkbmap -layout us -variant intlहूं और अपनी मृत कुंजी वापस पाने के लिए दौड़ता हूं। ... आदर्श नहीं!! लेकिन मुझे ग्रीक की जरूरत नहीं है।
जोंक

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

@ एडम - मुझे यह भी पूछना चाहिए: उबंटू के लिए आपका डिफ़ॉल्ट कीबोर्ड लेआउट क्या है? जाहिर है कि आप अभी ग्रीक नहीं लिख रहे हैं, इसलिए आपके ओएस-परिभाषित कीबोर्ड लेआउट और Emacs में आपके इनपुट विधि के बीच एक बेमेल हो सकता है। मेरे लिए Emacs में ग्रीक उच्चारण और साँस लेने के लिए लिखने के लिए , मुझे पहले अपने "उबंटू कीबोर्ड" को एक अधिक सामान्य QWERTY लेआउट में बदलने की आवश्यकता है। शायद आपके पास एक समान संघर्ष है। एक टर्मिनल से, setxkbmap -queryओएस कीबोर्ड प्रिंट करेगा; या आप unity-control-panelमुझे लगता है में देख सकते हैं ।
जौन

@ जोंस यह कहता है कि नियम: evdev, model pc105, हमें लेआउट, और जब लेखन ग्रीक कहते हैं लेआउट: जीआर, हमें।
एडम

जवाबों:


6

(require 'iso-transl)अपनी .emacsफ़ाइल में जोड़ने का प्रयास करें ।


1
यह पहली चीज थी जो मैंने कोशिश की थी और यह काम नहीं करती है।
एडम

ओह, इस बारे में क्षमा करें ... मुझे आपकी तरह एक समस्या थी और उस पंक्ति को जोड़ने ने मेरे लिए ठीक किया, हालांकि।
आर्थर अज़ीवेदो डी अमोरिम

हाँ मुझे पता है कि यह एक सामान्य उपाय है!
एडम

5

व्यापक खोज और प्रयोग के बाद मुझे तनाव का उपयोग करने में सफल होने का एक रास्ता मिला। यह भी ध्यान दिया जाना चाहिए कि सबसे अच्छा तरीका नहीं है (तकनीकी रूप से यह समस्या को हल नहीं करता है, लेकिन आपको वही मिलता है जो आप चाहते हैं)। मैंने हर अक्षर के लिए निम्न कुंजी बाँध कमांड का उपयोग किया है जो एक तनाव का उपयोग करता है:

(global-set-key (kbd "<dead-acute> α") "ά")

(global-set-key (kbd "<dead-acute> ε") "έ")

आदि...

यह कहने के लिए पर्याप्त है कि अगर किसी को एक बेहतर तरीका मिल जाए तो हमारे साथ साझा करने का स्वागत है क्योंकि यह स्पष्ट रूप से सिर्फ एक समझौता है।


1

ऑपरेटिंग सिस्टम की भाषा स्विचिंग को ओवरराइड करें और MULE का उपयोग करें।

Emacs में, दबाएँ C-\। यह एक इनपुट विधि के लिए पूछता है।

टाइप करें greekऔर फिर भाषाओं को स्विच करें C-\


0

यदि आपका ऑपरेटिंग सिस्टम या Emacs का इंटरफ़ेस किसी तरह से मृत कुंजी को पार करता है जैसे कि उन्हें संसाधित करने के बजाय, आप Emacs में मृत कुंजी संयोजनों का अनुवाद कर सकते हैं। input-decode-mapउस के लिए उपयोग करें : इस तरह, कुंजी अनुक्रम वास्तव में एक एकल कुंजी प्रेस में अनुवादित है, और कमांड लूप ए देखता है self-insert-command। यह वैश्विक मानचित्र में एक मैक्रो की कुंजी को बांधने के लिए बेहतर है क्योंकि यह तंत्र को तोड़ता है जो पाठ इनपुट पर निर्भर करता है जैसे कि पूर्ववत समूह।

(define-key input-decode-map [dead-acute ?ο] ?ό)

आप इस तरह एक लूप लिख सकते हैं:

(mapc (lambda (string)
        (define-key input-decode-map (vector dead-acute (aref string 0)) (aref string 1)))
      '("οό" "υύ" "ιί"))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.