Yukang's Page

保存 kmacro

2019-06-23

宏是很强大的编辑方法,如果要长久保存一些宏可以使用下面的办法:

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