Evil-mode macros are not special, they are just ordinary Emacs macros and you save them the same way, but you'll need to do some special work to get them into the evil registers.
Let's walk through an example:
In a buffer, do qfifoobar
ESCq. This will save a macro into the f
register that inserts foobar into the buffer.
Now run M-xname-last-kbd-macro
RETmymacro
RET.
Go to your init.el
file and do M-xinsert-kbd-macro
RETmymacro
RET.
This will dump your macro out into an fset
call.
(fset 'mymacro [?i ?f ?o ?o ?b ?a ?r escape])
If you place this in your init.el you will have access to the command mymacro
from M-x.
But, we saved this into register f
and we want it to be there at each startup. You need to extract the macro vector from the code above and save that to a register in your init.el
like this:
;; make sure this is done after evil-mode has been loaded
(evil-set-register ?f [?i ?f ?o ?o ?b ?a ?r escape])
Now you will have access to it from @!
See the docs about naming and inserting macros as text
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…