我刚刚升级到 13.10,发现 emacs 中的死键不再起作用(按下 ' 键会导致 emacs 显示<dead-acute> is undefined
而不是等待下一个键。此外,使用 compose 键会导致<Multi_key> is undefined
无法使用诸如 之类的键绑定<M-^>
。据我所知,其他应用程序运行良好。
在互联网上进行简单搜索后,我建议(require 'iso-transl)
使用.emacs
。这解决了第一个问题,但没有解决其他问题。
网络上看到的另一种可能的解决方法是使用空XMODIFIERS
变量启动 emacs,而XMODIFIERS='' emacs
不是 ,XMODIFIERS= @im=ibus
这似乎是 13.10 中的默认设置。然后一切都正常,但它看起来像一个临时解决方案。有没有办法让 emacs 与 ibus 一起解决这个问题?
更新: 我在 14.04 中观察到了同样的行为。
更新:.dmrc
评论中要求的内容:
[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8
答案1
以下是您可以尝试的事情。
编辑文件 ~/.dmrc 并确保在其上设置以下行:
Language=en_US.utf8 Langlist=en_US:en LCMess=en_US.UTF-8
编辑文件~/.emacs
并添加以下行代替 (require 'iso-transl)
:
(prefer-coding-system 'utf-8) (set-default-coding-systems 'utf-8) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (setq default-input-method "latin-1-prefix") (defun my-set-default-input-method () (set-input-method 'latin-1-prefix)) (add-hook 'text-mode-hook 'my-set-default-input-method)
latex-mode
如果您在 emacs 中将死键与其他模式一起使用(例如,,,tex-mode
... html-mode
),则必须将类似的行添加到最后一行。
注销然后重新登录。
即便如此,如果您遇到死键在 emacs 中不起作用的情况,请尝试输入C-\
并看看它们是否起作用。
更新:
如果这不起作用,我唯一能想到的就是在系统设置中定义两种键盘布局
- 英语美国国际死键(您拥有的那个)
- 美国英语
并按照这里解释的方式添加键盘布局选择器:
使用 emacs 时,请选择“English US”布局。如果您在文件中添加了.emacs
我上面提到的行,这将强制您的键盘在 emacs 中充当“死键键盘”。我知道这可能很烦人,但这是我想到的唯一解决您问题的方法。