woo*_*ger 32 emacs evil-mode vim-macros
大约一年前从Vim搬过来后,我正在使用邪恶模式.我做了很多自定义,但还没有找到如何保存vim风格的键盘宏.
我可以使用与Vim完全相同的键在邪恶模式下定义和运行它们.
我想将其中的一些保存到我的init.el文件中以便在会话之间使用,但我无法在线找到任何引用,并且找不到正确的语法.
如何将这些邪恶模式键盘宏保存到文件中?是否有一些原因我应该使用原生的Emacs键盘宏,有没有办法通过@a键运行这些?
Jor*_*ndo 39
邪恶模式宏并不特殊,它们只是普通的Emacs宏,你以同样的方式保存它们,但是你需要做一些特殊的工作才能让它们进入邪恶的寄存器.
让我们来看一个例子:
在缓冲区中,做qfifoobarESCq.这会将宏保存到f将foobar插入缓冲区的寄存器中.
现在跑M-xname-last-kbd-macroRETmymacroRET.
转到您的init.el文件并执行M-xinsert-kbd-macroRETmymacroRET.
这会将您的宏转储到fset通话中.
(fset 'mymacro [?i ?f ?o ?o ?b ?a ?r escape])
Run Code Online (Sandbox Code Playgroud)
如果你把这个在你的init.el,你将有机会获得命令mymacro的M-x.
但是,我们将其保存到寄存器中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])
Run Code Online (Sandbox Code Playgroud)
现在您可以访问它了@!