2011-12-05 35 views
7

我一直在創建宏並將它們保存起來,以便以後使用以下過程。有沒有辦法從elisp回到鍵盤宏?

  1. 創建的鍵盤宏
  2. 編輯宏:C-x C-k C-e
  3. 名稱的宏:M-x name-last-kbd-macro
  4. 創建一個.el文件,然後插入宏定義:M-x insert-kbd-macro

隨着Lisp代碼稍後保存,我將把它加載到我的.emacs文件中。也許這是我對elisp的不熟悉,但是生成的elisp代碼似乎相當笨拙。我更喜歡宏編輯器中的語法,我想對我創建的代碼進行更新和改進,所以我問:

有沒有辦法將我的elisp代碼恢復到合理在宏編輯器中演繹?

回答

11

您可以使用C-x C-k e M-x後跟您想要編輯的宏的名稱。 (或者C-x C-k eedit-kbd-macro)後跟一個宏所綁定的鍵序列; M-x這裏只是一種助記符,因爲對命令的幫助進行了解釋)。

也許知道您運行的所有鍵盤宏都保存在全局環中也是有幫助的,因此您可以使用C-x C-k C-nC-x C-k C-p在它們之間循環往復。

順便說一下,它不僅不熟悉Elisp,使這些宏定義很難閱讀; insert-kbd-macro基本上只是寫出宏作爲密鑰序列的向量。由人類寫的Elisp是一個非常愉快的語言;-)

相關問題