映射死键,如“^”

时间:2012-02-05 00:46:12

标签: emacs key-bindings

我目前正在重新绑定几乎所有的Emacs绑定以适应我的新键盘布局,bépo,法语相当于dvorak。

我在映射^密钥时遇到问题。 ^键是死键,但不是物质级别。

我希望能够映射C-^,但目前它不起作用。因为“dead-circumflex”和“circumflex”是两个不同的键。

如果我这样做:

(global-set-key "C-^" 'next-line)

然后,用“^”键按下控制键,执行以下操作:

 <C-dead-circumflex> is undefined

我们有证据emacs看到死亡抑扬症。但我仍无法映射它。

我知道我可以做到

(global-set-key "^" 'next-line)

,按两次^可以正常工作,但这不是我正在搜索的解决方法。

3 个答案:

答案 0 :(得分:3)

我只是遇到了同样令人讨厌的错误,但只有在使用emacs GUI时才会出现,而不是来自终端。 提出的解决方案的问题是^不是唯一不起作用的字符。对我来说,它至少是'和'。

从这个帖子:https://bugzilla.redhat.com/show_bug.cgi?id=918740我发现将XMODIFIERS从“@ im = ibus”更改为“”解决了这个问题。在搜索设置的XMODIFIERS时,我遇到了以下问题:https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1125944 事实证明,通过删除解决该问题的〜/ .config / ibus / bus也解决了带死键的emacs中的问题

rm -rf ~/.config/ibus/bus

答案 1 :(得分:2)

错误消息告诉您Emacs用于密钥的名称。您可以将该字符串传递给kbd函数以将其绑定。

(global-set-key (kbd "<C-dead-circumflex>") 'next-line)

答案 2 :(得分:2)

将以下内容添加到~/.emacs

(require 'iso-transl)

这解决了未定义dead keys的问题。