2012-02-05 43 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