1
5
The sequence you specify does simplify the keystroke representation. What you're left with is essentially 这个 您键入的一组按键。 已经有人问你是否可以转换 emacs macro into elisp . 也许你在问它是否能让人更容易阅读? 如果是这样,那你就走运了。
你可以使用
例如,导致
好吧,您可以手动设置为:
如果您已经命名了宏,那么这段elisp代码应该为您生成上面的代码。
完成键盘宏后自动执行此操作 C-X) ,您可以使用以下建议:
|
2
1
谢谢Trey。
(defun name-and-insert-last-kbd-macro (macro-name) (interactive (list (intern (completing-read "Insert kbd macro (name): " obarray t)))) (interactive) (insert "(fset '") (prin1 macro-name (current-buffer)) (insert "\n (kbd \"") (fset symbol last-kbd-macro) (insert (key-description (symbol-function symbol))) (insert "\"))\n"))现在,我可以开始用F8定义宏, 结束并用F9测试/运行它 ,并用F10命名和插入: (global-set-key [f8] 'kmacro-start-macro) (global-set-key [f9] 'kmacro-end-and-call-macro) (global-set-key [f10] 'name-and-insert-last-kbd-macro) (global-set-key [f12] 'menu-bar-open) ; originally bound to F10 |
3
0
I made a package that allows pretty much exactly this at https://github.com/Silex/elmacro 它有一些怪癖,但效果很好…例如,以下宏:
生成以下elisp:
|
Sourabh Banka · 添加关键事件以响应项目 6 年前 |
chickens · 使用javascript检测Ctrl-F11 6 年前 |
Vsevolod · 转到Atom编辑器中的最后一行 6 年前 |
Aloso · Javascript-获取任何键盘布局的键描述 6 年前 |