我不是特別滿意viper模式在Emacs中的工作原理。我正在嘗試寫我自己的毒蛇模式。除了使用.emacs文件完成的自定義數量之外,我在Elisp中沒有任何良好的編程經驗。emacs中的臨時密鑰綁定
我想知道是否可以暫時更改Emacs中的密鑰綁定,並在需要時將它們返回到原始狀態。
我不是特別滿意viper模式在Emacs中的工作原理。我正在嘗試寫我自己的毒蛇模式。除了使用.emacs文件完成的自定義數量之外,我在Elisp中沒有任何良好的編程經驗。emacs中的臨時密鑰綁定
我想知道是否可以暫時更改Emacs中的密鑰綁定,並在需要時將它們返回到原始狀態。
那麼,如果我正確理解你的問題,一個簡單的方法就是創建你自己的次要模式(除了你自己的具體模式),只做你的臨時密鑰綁定。
你給一個名稱,該模式,然後切換所有臨時鍵綁定或關閉作爲調用你的命令變得簡單:
M-x salsabear-minor-mode
你可能想閱讀scottfrazer的45+ upvotes在這裏回答SO:
Globally override key binding in Emacs
,他解釋瞭如何創建一個包含鍵綁定自己的次要模式。
鑑於你明確只提到毒蛇,它可能值得問你是否知道其他基於vi/vim的庫存在?請參見下面的列表:
http://www.emacswiki.org/emacs/CategoryEmulation
我會嫌疑是重新發明了這個特定的車輪可能是不值得的。
我認爲Evil是最活躍的項目,但如果它不能按照你想要的方式工作,那麼你的努力可能會更好 - 花在增強它(如果可行)?