当使用insert-kbd-macro保存一个命名的键盘宏时,我会得到“不可读”的lisp代码,如

(fset 'ppsql
   (lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ([134217788 134217765 44 return 44 17 10 return 33 134217765 102 102 backspace 114 111 109 return 17 10 102 111 109 backspace backspace 114 111 return 33] 0 "%d")) arg)))

我宁愿要如下的东西:
(fset 'move-line-down
      [?\C-a ?\C-k delete down ?\C-y return up])

IIRC I使用相同的方法记录、命名和插入两个键盘宏:F3、F4、name-last-kbd-macro
是否可以以可读格式获取第一个宏?

最佳答案

Emacs中的键盘宏功能有两种模式:macroskmacros前者以您喜欢的符号形式返回宏,后者提供lambda形式所以,如果你调用name-last-kbd-macro你会得到一个符号形式,如果你调用kmacro-name-last-macro,你会得到一个lambda形式。

关于emacs - Emacs:获取可读的键盘宏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/753459/

10-13 02:57