现在我正在尝试使用emacs中的邪恶插件,这样我就可以拥有具有emacs可扩展性的vim编辑功能。现在我正试图移植我最喜欢的.vimrc部分之一:无论我最后执行的宏是什么,都要重复空间。在我的.vimrc中它只是
nore <Space> @@
我正在尝试使用
在我的.emacs文件中执行相同的操作(define-key evil-normal-state-map " " (lambda () (interactive) (evil-execute-macro 1 "@")))
@@重复最后一个宏,但击中空格会给我错误
After 0 kbd macro iterations: No previous macro
我对lisp和邪恶相当新,所以我确信我做错了什么,我会感激任何帮助。
答案 0 :(得分:2)
你可以像vim一样绑定它:
(define-key evil-normal-state-map " " (kbd "@@"))
关于您的代码:evil-execute-macro
的第二个参数应该是一个字符,即?@
。但这仅适用于交互式调用evil-execute-macro
的情况,因为相应寄存器的内容仅以interactive
形式检索。
归结为:正确的呼叫是(evil-execute-macro 1 last-kbd-macro)
。