2013-10-09 1 views
1

En ce moment j'essaie d'utiliser le plugin mal dans emacs afin que je puisse avoir la capacité d'édition de vim avec l'extensibilité d'emacs. En ce moment j'essaye de porter sur une de mes parties préférées de mon .vimrc: l'espace répète n'importe quelle dernière macro exécutée. Dans mon .vimrc il était tout simplementExécution d'une macro spécifique dans emacs evil

nore <Space> @@ 

Je suis en train de faire la même chose dans mon emacs fichier avec

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

@@ répète la dernière belle macro, mais l'espace frappant me donne l'erreur Je suis assez nouveau pour lisp et le mal donc je suis sûr que je fais quelque chose de très mal et j'apprécierais toute aide.

Répondre

2

Vous pouvez la lier de façon similaire à vim:

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

En ce qui concerne votre code: Le deuxième argument de evil-execute-macro doit être un personnage, à savoir [email protected]. Mais cela ne tient que si evil-execute-macro est appelée de manière interactive car le contenu du registre correspondant est seulement récupéré dans le formulaire interactive.

Cela se résume à ceci: L'appel correct serait (evil-execute-macro 1 last-kbd-macro).

+0

Parfait, merci! – user1539179

Questions connexes