Yunan stresi yazılırken görünen “<dead-acute> tanımsız” sorunu (')


11

Emacs'ı kullanmaya başladım ve Yunanca bir metin yazdım. Sorun şu ki, bazı harflerde (ό, ύ, ί, ύ) kullanılan stres işe yaramıyor!

Genellikle ;(yani L'nin yanındaki tuşa basılarak) ve ardından eklenecek harfe basılarak eklenir. Bu bir Yunanca klavye için standarttır. Ben bastığımda ;şöyle diyor:

<dead-acute> is undefined. 

C-h c ; aynı şeyi söylüyor.

Bu anahtarı kullanabilmek için ne yapabilirim?

Tarayıcı gibi diğer uygulamalarda çalışır. Ubuntu 14.04 kullanıyorum ve emacspaketini kurdum (Emacs 24.3.1).


Bu sorunla daha önce kendim karşılaştım, ama sebebinin ne olduğunu hatırlayamıyorum. İşletim sisteminizin Emacs için farklı bir klavye düzeni kullanmadığından emin olun. Bazı işletim sistemleri uygulamaya özgü klavye düzenlerine sahip olabilir, bu nedenle bu tuş her yerde çalışsa bile sorun sistemde olabilir. Değilse, eminim birisi cevabınızı burada alacaktır. :-)
Malabarba

(Bunun yardımcı olup olmadığından emin değilim.) OS klavye giriş modumun ne olduğuna bağlı olarak bu sorun var. Varsayılan klavye girişimde 'ölü tuşlar' kullanılıyor, böylece â © çéñtß; ama bazen Emacs'a Yunanca (eski) giriş yapmak istiyorum greek-ibycus4ve iki sistem çatışıyor. Genel girdimi ölü olmayan bir anahtar düzeni (örneğin, kullanarak setxkbmap -layout us) değiştirerek bu soruna geçici bir çözüm bulmak ; sonra Emacs'ta modları değiştiririm; sonra ucsEmacs için giriş yöntemine setxkbmap -layout us -variant intlgeri dönüp ölü anahtarlarımı geri almak için koşuyorum . ... Uygun değil!! Ama ben de çok sık Yunancaya ihtiyacım yok.
jon

Yorumlarınız için teşekkür ederiz ama sorun, Yunanca'da streslerin temel olmasıdır. Hemen hemen her kelimenin bir strese ihtiyacı var ve açıkça her yerde çalışıyor, bu yüzden ne yapacağımı bilmiyorum.
Adam

Ayrıca sormalıydım: Ubuntu için varsayılan klavye düzeniniz nedir? Açıkçası şimdi Yunanca yazmıyorsunuz, bu yüzden işletim sistemi tanımlı klavye düzeniniz ve Emacs'taki giriş yönteminiz arasında bir uyumsuzluk olabilir. Beni Yunan aksan ve breathings yazmak için Amacıyla Emacs , ben ilk daha genel bir QWERTY düzeni benim "Ubuntu klavye" geçiş gerekir. Belki de benzer bir çatışmanız var. Bir terminalden, setxkbmap -queryOS klavyesini yazdırır; ya da unity-control-panelbence bakabilirsiniz .
jon

@jon Kurallar diyor: evdev, model pc105, bizi düzenleyin ve yunanca yazarken düzen diyor: gr, bize.
Adam

Yanıtlar:


6

Eklemeyi deneyin (require 'iso-transl)sizin için .emacsdosyanın.


1
Denediğim ilk şey buydu ve işe yaramıyor.
Adam

Bunun için üzgünüm ... Seninkine benzer bir sorunum vardı ve bu çizgiyi eklemek benim için düzeltmeyi yaptı.
Arthur Azevedo De Amorim

Evet, bunun ortak bir çözüm olduğunu biliyorum!
Adam

5

Kapsamlı arama ve denemelerden sonra stresi kullanmayı başaracak bir yol buldum. Ayrıca en iyi yol olmadığı belirtilmelidir (teknik olarak sorunu çözmez, ancak istediğinizi alırsınız). Stres kullanan her harf için aşağıdaki tuş bağlama komutunu kullandım:

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

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

vb...

Birisi daha iyi bir yol bulursa, bunu bizimle paylaşmaktan memnuniyet duyarız, çünkü bu sadece bir uzlaşmadır.


1

İşletim sisteminin dil değişimini geçersiz kılın ve MULE kullanın.

Emacs'ta tuşuna basın C-\. Bir giriş yöntemi ister.

Yazın greekve daha sonra diller arasında geçiş C-\.


0

İşletim sisteminiz veya Emacs'ın arabirimi, işlemek yerine ölü anahtarları bir şekilde geçirirse, ölü anahtar kombinasyonlarını Emacs'ın kendisinde çevirebilirsiniz. Bunun için kullanın input-decode-map: bu şekilde, tuş dizisi aslında tek bir tuşa basıldığında çevrilir ve komut döngüsü a'yı görür self-insert-command. Bu, anahtarı genel haritadaki bir makroya bağlamak için tercih edilir, çünkü bu, geri alma grupları gibi kendiliğinden eklenen metin girişine dayanan mekanizmaları keser.

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

Bunun gibi bir döngü yazabilirsiniz:

(mapc (lambda (string)
        (define-key input-decode-map (vector dead-acute (aref string 0)) (aref string 1)))
      '("οό" "υύ" "ιί"))
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.