宏是很强大的编辑方法,如果要长久保存一些宏可以使用下面的办法:
M-x start-kbd-macro
开始记录宏,通常快捷键为”C-x (“, 结束的快捷键为 “C-x )”。
然后使用命令:
M-x kmacro-name-last-macro
可以把这条宏给命名,如果要保存这个宏以便日后使用,需要打开 init.el 继续使用命令:
M-x insert-kbd-macro
选中命名的宏,这样就在 init.el 里面插入了刚才的宏,这个名字也就可以当作日常命令使用了。
例如我新建一个宏,作用是查找测试文件中的 “#[ignore]”,并删除掉那行:
(fset 'rust-ignore
(lambda (&optional arg) "Keyboard macro." (interactive "p")
(kmacro-exec-ring-item
(quote ([12 115 101 97 114 99 104 return 35 91 105 103 110 111 114 101 return 1 11 11 14] 0 "%d")) arg)))
如果要重复执行,则需要运行:
C-x z
当然后面可以连续按 z z z …. ,执行多遍。
参考:https://emacs.stackexchange.com/questions/70/how-to-save-a-keyboard-macro-as-a-lisp-function