2011-09-18 65 views
2

我想弄清楚是否有辦法重置鍵盤映射,以便我可以手動啓用功能與適當的鍵綁定。我試圖做一個定製的Emacs構建,並希望完全控制啓用的鍵綁定和功能。有沒有辦法重置Emacs鍵盤映射?

編輯:感謝您的回答,這回答了我一直在尋找的完美。我試圖谷歌它,我找不到多少,但現在我開始更多地瞭解Emacs。

基本上我試圖學習它並根據我的喜好自定義按鍵綁定。儘管我在重寫某些主鍵時遇到了麻煩,但關於禁用主模式的建議正是我所期待的。

+0

您已經完全控制emacs中的按鍵綁定,通常通過在.emacs文件中使用elisp - 無需執行自定義構建。如果你需要做一些常規定製程序無法做到的事情(有什麼不能用這種方式完成的?),你需要給我們更多關於你的目標的細節。 – Tyler

回答

3

那麼,Emacs會給你完全控制,有幾種不同的方式來完成它聽起來像你想要做的事情。要成功,我建議您閱讀並理解本手冊的Keymaps部分。如果您定製的Emacs構建使用任何主要或次要模式,則必須執行特殊工作來禁用/覆蓋它們設置的任何鍵盤映射。

特別感興趣的部分是Creating Keymaps,Active Keymaps,Controlling Active Maps,以及......幾乎整個章節。

我推薦從創建一個基本鍵盤映射開始,並用你的全局鍵盤覆蓋全局鍵盤映射。這將是一個好的開始。也許最簡單的方法是做這樣的事情:

(setq global-map (make-keymap)) 
(global-set-key ...) 

雖然,你也將不得不關閉,從建立自己的鑰匙的主要模式,最簡單的辦法是禁用的主要模式的自動選擇通過這樣做:

(setq auto-mode-alist nil) 

閱讀關於How Emacs Chooses a Major Mode的部分。

的問題需要更多的細節,以便編寫更加詳細的解答......

+1

這篇文章是另一個很好的參考:http://www.masteringemacs.org/articles/2011/02/08/mastering-key-bindings-emacs/ – phils

1

捆綁時可以將功能集成到一個較小的模式有它自己的鍵盤映射。當啓用次要模式時,將在全局映射之前查閱其鍵盤映射,覆蓋後者的效果。禁用時,全局映射中的默認鍵綁定將再次可見。

相關問題