我在使用evil-mode之后,大约一年前从Vim搬了过来。我已经做了很多自定义,但还没有找到如何保存vim风格的键盘宏。
我可以使用与Vim完全相同的键在邪恶模式下定义和运行它们。
我想将其中的一部分保存到我的init.el
文件中,以便在会话之间使用,但我在网上找不到任何参考资料,并且还没有找到找到了正确的语法。
如何将这些邪恶模式键盘宏保存到文件中?是否有一些原因我应该使用原生的Emacs键盘宏,有没有办法通过 @ a 键来运行它们?
答案 0 :(得分:33)
邪恶模式宏并不特殊,它们只是普通的Emacs宏,你可以用同样的方式保存它们,但是你需要做一些特别的工作才能让它们进入邪恶的寄存器。
让我们来看一个例子:
在缓冲区中,执行 q f i foobar
ESC q < / KBD>。这会将宏保存到将{fompar插入缓冲区的f
寄存器中。
现在运行 M-x name-last-kbd-macro
RET mymacro
RET 。
转到init.el
文件并执行 Mx insert-kbd-macro
RET mymacro
RET 。< / p>
这会将您的宏转储到fset
来电。
(fset 'mymacro [?i ?f ?o ?o ?b ?a ?r escape])
如果将其放在init.el中,您将可以从 M-x 访问命令mymacro
。
但是,我们将其保存到寄存器f
中,我们希望它在每次启动时都存在。您需要从上面的代码中提取宏向量并将其保存到init.el
中的寄存器中,如下所示:
;; make sure this is done after evil-mode has been loaded
(evil-set-register ?f [?i ?f ?o ?o ?b ?a ?r escape])
现在您可以从 @ 访问它了!