在大约一年前从Vim移走之后,我正在使用evil-mode。我进行了许多自定义,但是还没有弄清楚如何保存vim风格的键盘宏。
我可以使用与Vim中完全相同的键在 evil-mode 下定义和运行它们。
我想将其中的一些保存到我的
init.el
文件中,以在 session 之间使用,但是我无法在线找到对此的任何引用,也没有找到正确的语法。如何将这些 evil-mode 的键盘宏保存到文件中?我是否应该使用本地Emacs键盘宏代替某些原因,是否可以通过@a键运行这些宏?
最佳答案
evil-mode 宏不是特别的,它们只是普通的Emacs宏,您可以用相同的方式保存它们,但是您需要做一些特殊的工作才能将它们放入邪恶的寄存器中。
让我们来看一个例子:
在缓冲区中,执行qfi foobar
ESCq。这会将宏保存到f
寄存器中,该寄存器将foobar插入缓冲区。
现在运行M-x name-last-kbd-macro
RET mymacro
RET。
转到您的init.el
文件,然后执行M-x insert-kbd-macro
RET mymacro
RET。
这会将您的宏转储到fset
调用中。
(fset 'mymacro [?i ?f ?o ?o ?b ?a ?r escape])
如果将其放在init.el中,则可以从M-x访问
mymacro
命令。但是,我们将其保存到了
f
寄存器中,并且希望每次启动时都可以在其中。您需要从上面的代码中提取宏 vector ,并将其保存到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])
现在您可以从@访问它了!
See the docs about naming and inserting macros as text
关于emacs - 如何将 evil-mode (vim样式)宏保存到init.el?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22817120/