当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我用同样的方法来记录,名称,同时插入键盘宏:F3,F4,name-last-kbd-macro
.
是否可以以可读格式获取第一个宏?
Emacs中的键盘宏功能有两种模式:macros
和kmacros
.前者以您喜欢的方式返回宏 - 符号形式 - 后者提供lambda形式.所以,如果你打电话给name-last-kbd-macro
你得到一个符号形式,如果你打电话kmacro-name-last-macro
,你会得到一个lambda表格.