输入希腊语重音(')时出现问题“ <dead-acute>未定义”


11

我开始使用Emacs,并用希腊文写了一段文字。问题在于,对某些字母(ό,ύ,ύ,ί,ύ)使用的重音不起作用!

通常是通过按;(我的意思是按L旁边的键)然后插入要插入的字母来插入。这是希腊键盘的标准配置。当我按;它说:

<dead-acute> is undefined. 

C-h c ; 说同样的话。

我该怎么做才能使用此密钥?

它可以在其他应用程序(例如浏览器)中使用。我使用Ubuntu 14.04,并安装了它的emacs软件包(Emacs 24.3.1)。


我以前曾经遇到过此问题,但我不记得是什么原因了。确保您的操作系统没有为Emacs使用不同的键盘布局。某些操作系统可能具有特定于应用程序的键盘布局,因此即使该键在其他任何地方都起作用,问题仍可能出在系统上。如果不是那样,我相信有人会在这里回答您。:-)
马拉巴巴

(不确定这是否有帮助。)我有此问题,具体取决于我的操作系统键盘输入模式。我的默认键盘输入使用“死键”,因此我可以添加éçéñtß;。但是我有时想使用在Emacs中输入(古)希腊语greek-ibycus4,这两个系统会发生冲突。我通过将常规输入更改为非死键布局(例如使用setxkbmap -layout us)来解决此问题。然后我在Emacs中切换模式;然后我切换回ucsEmacs 的输入法并运行setxkbmap -layout us -variant intl以获取我的死键。...不理想!!但是我也不经常需要希腊文。
2014年

谢谢您的评论,但问题在于,压力是希腊语的基本内容。几乎每个单词都需要一个压力,并且显然在其他任何地方都起作用,所以我不知道该怎么办。
2014年

@Adam-我还应该问:Ubuntu的默认键盘布局是什么?显然,您现在不是在编写希腊文,因此您的OS定义的键盘布局与Emacs中的输入方法之间可能不匹配。为了让我在Emacs中写希腊语的口音和呼吸,我需要首先将“ Ubuntu键盘”切换到更通用的QWERTY布局。也许您有类似的冲突。从终端,setxkbmap -query将打印OS键盘;或者你可以看看unity-control-panel我的想法。
2014年

@jon它说了规矩:evdev,模型pc105,布置了我们,写希腊文时说了布置:gr,我们。
亚当

Answers:



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)))
      '("οό" "υύ" "ιί"))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.