2012-06-23 85 views
1

您好我最近嘗試將命令綁定到Meta鍵時遇到了一些奇怪的問題。這只是今天才開始發生,我真的很困惑。無法綁定到元鍵?

在我的綁定列表中,我有一些定義,例如(define-key map (kbd "M-f") 'forward-char),同樣使用Ctrl和Hyper,但由於某些原因,當我嘗試使用Meta組合綁定時,它會失敗。

例如,(define-key map (kbd "C-M-f") 'forward-word)顯示一個錯誤消息說。

Warning (initialization): An error occurred while loading '/home/flood/.emacs.d/init.el': error: Key sequence C-M-f starts with non-prefix key To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the '--debug-init' option to view a complete error backtrace.

當開始--debug-INIT它不會顯示任何幫助。有沒有人有任何想法,這真是令人沮喪!

回答

1

因此,浪費了我一天的幾個小時後,我終於解決了這個問題。這似乎是一個emacs的錯誤,但目前我不打算做進一步的測試,也許以後。

我之前已經包含了一個命令,它使用了C-[組合的命令,該命令導致後面的任何命令都包含Meta,C-MH-M被聲明爲無效。我不得不移動命令,直到我發現錯誤會分別在之後或之前出現和消失。

如果有人正在Emacs的項目,希望尋找到這則嘗試一下,如果你無法重現的錯誤我可以轉發樣本這是我的問題。發佈它以幫助未來可能遇到同樣挫折的任何其他人的主要原因。

+5

我不認爲這是一個錯誤,雖然它可能會產生混淆。 'C- ['在ASCII是相同的字符爲'ESC',和Emacs手冊文檔'ESC'作爲前綴鍵可被用作用於元組合鍵的替代品。這允許在純文本終端上使用Emacs,該終端不會發送ASCII字符以外的按鍵事件。請參閱「信息」手冊中的「(emacs)用戶輸入」。 –

+0

我看到:),謝謝你清理那個。 – rflood89