2012-02-05 44 views
10

我正在重新绑定几乎所有的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) 

,并且它会按^双倍的努力,但它不是我在寻找解决办法。

+0

您使用的是什么操作系统和GUI? (例如,Windows 7,OSX /水族,FreeBSD的/ KDE,...) – Gilles 2012-02-05 19:37:02

+0

我在Linux Mint的11,与GNOME 2.我使用Emacs 23.2.1。 – 2012-02-05 19:39:28

回答

2

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

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

但是,您必须以这种方式手动查找并绑定每个死锁。 Lars的解决方案将所有内容自动设置在一行中。 – 2015-06-25 14:58:48

3

我只是有同样恼人的错误,但只有当使用emacs GUI,而不是从终端。 建议的解决方案的问题是,^不是唯一不起作用的字符。对我而言,这至少是'和'。

从这个线程:https://bugzilla.redhat.com/show_bug.cgi?id=918740我发现,从“@ IM =的ibus”改变XMODIFIERS为“”解决了问题。当搜寻那里XMODIFIERS其中一套我遇到了以下问题stubled:https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1125944 事实证明,通过删除〜/的.config/IBUS /总线解决了这个问题也解决了问题,在Emacs与死键

rm -rf ~/.config/ibus/bus 
3

添加下面您~/.emacs

(require 'iso-transl) 

这需要照顾的问题与不确定dead keys

+0

这对我有用,谢谢! (这是在Ubuntu 16.04上的Emacs 24.5.1,我没有管理权限) – jfbu 2016-09-08 13:58:26