当使用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中的键盘宏功能有两种模式:macros
和kmacros
前者以您喜欢的符号形式返回宏,后者提供lambda形式所以,如果你调用name-last-kbd-macro
你会得到一个符号形式,如果你调用kmacro-name-last-macro
,你会得到一个lambda形式。
关于emacs - Emacs:获取可读的键盘宏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/753459/