使用ibus的emacs中的死键


13

我刚刚升级到13.10,并注意到死键在emacs中不再起作用(对“的击键会导致emacs显示<dead-acute> is undefined而不是等待下一个键。此外,使用compose键会导致<Multi_key> is undefined并且不可能<M-^>就我所知,请使用诸如的键绑定。

在互联网上的简单搜索建议(require 'iso-transl).emacs。这解决了第一个问题,但没有解决其他问题。

在网络上看到的另一种可能的解决方法是使用一个空XMODIFIERS变量as 启动emacs XMODIFIERS='' emacs,而不是XMODIFIERS= @im=ibus13.10中的默认值。然后,一切正常,但看起来像个混战。有没有办法使emacs在此主题上与ibus一起使用?

更新: 我在14.04中观察到相同的行为。

更新:.dmrc注释中要求的内容:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8

包裹的正确名称是iso-transl(请注意破折号)
Lars Haugseth

@LarsHaugseth发现得很好,谢谢。我已经相应地编辑了问题。
Virgile

我使用带有AltGr Dead键的emacs,它工作正常。
Charo 2014年

您拥有哪个版本的emacs?
Charo 2014年

2014年3月7日在lamiak上的@Charo GNU Emacs 24.3.1(x86_64-pc-linux-gnu,GTK +版本3.10.7),由Debian修改。我在14.04中仍然有此问题,我将相应地更新问题
Virgile 2014年

Answers:


2

您可以尝试以下方法。

编辑文件〜/ .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)

你将不得不如果你使用Emacs中与其他模式的死键类似的路线添加到最后一个(例如latex-modetex-modehtml-mode...)。

注销,然后再次登录。

即使这样,如果您碰巧死键在emacs中不起作用,请尝试键入C-\并查看它们是否起作用。

更新:

如果那行不通,我唯一想到的是您在系统设置中定义了两个键盘布局

  • 美国英语国际固定钥匙(您拥有的钥匙)
  • 英语美国

并按照此处说明的方式添加键盘布局选择器:

如何切换语言键盘组合?

使用emacs时,请选择“英语美国”布局。如果您在.emacs文件中添加了我上面提到的行,这将迫使您的键盘在emacs中充当“死键键盘”。我知道这可能很烦人,但这是我想到的唯一解决问题的方法。


我已经添加了有问题的行,但这并没有改变任何内容。C-也没有。无论如何,谢谢您的建议。
Virgile 2014年

尝试按照我的答案更改〜/ .dmrc文件中的某些行。
Charo 2014年

但这是否意味着我的会议语言将为英语?
Virgile 2014年

@Virgile:但是让我们看看问题是否以这种方式消失了。尝试过之后,您随时可以通过再次修改〜/ .dmrc文件来返回法语区域设置。我在这里读过。
Charo 2014年

@Virgile:请参见“更新”。
Charo 2014年
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.