2013-10-09 85 views
1

現在我正嘗試在emacs中使用邪惡的插件,這樣我就可以使用emacs的可擴展性來編輯vim。現在我正試圖移植我的.vimrc中的一個我最喜歡的部分:有空間重複我最後一次執行的宏。在我的vimrc它只是在emacs中執行一個特定的宏

nore <Space> @@ 

我試圖做同樣的事情在我的.emacs與

(define-key evil-normal-state-map " " (lambda() (interactive) (evil-execute-macro 1 "@"))) 

@@重複上一次宏觀細銼,但是打的空間給我的錯誤

After 0 kbd macro iterations: No previous macro 

我是相當新的lisp和邪惡,所以我敢肯定我做的事情非常錯誤,我會很感激任何幫助。

回答

2

您同樣可以其綁定到VIM:

(define-key evil-normal-state-map " " (kbd "@@")) 

關於你的代碼:的evil-execute-macro第二個參數應該是一個字符,即[email protected]。但是,只有在evil-execute-macro被交互式調用時纔有效,因爲相應寄存器的內容僅在interactive表單中檢索。

歸結爲:正確的電話號碼是(evil-execute-macro 1 last-kbd-macro)

+0

完美,謝謝! – user1539179