Emacs: Key Macro
What is Key Macro
Keyboard Macro (aka key macro, kmacro) feature lets you record and playback keystrokes. The key strokes can include calling any emacs commands.
Record a Key Macro
- To start recording, press Ctrl+x ( (
kmacro-start-macro
). - Type your keystrokes.
- To stop recording, press Ctrl+x ) (
kmacro-end-macro
).
If you made a mistake, you can cancel Ctrl+g (keyboard-quit
) and start over.
Run Key Macro
To run the keystrokes you've just recorded, use one of:
- Alt+x
call-last-kbd-macro
- Alt+x
kmacro-end-and-call-macro
【Ctrl+x e】
another useful command to run key macro is
- Alt+x
apply-macro-to-region-lines
If you call apply-macro-to-region-lines
make sure that when you record a macro, best to start by putting cursor at beginning of a line, record the macro, and end with cursor the same line. No need to move to next line.
Save Key Macro
Key macro can be saved for future use.
To save the macro:
- Alt+x
name-last-kbd-macro
and give it a name. - Alt+x
insert-kbd-macro
. This insert the lisp code for a named kmacro at the cursor position. - Copy and Paste the code into your Emacs Init File.
- In future emacs session, you can call your kmacro by name. e.g. Alt+x name.
with a name, now you can give it a keyboard shortcut, such as F8. 〔see Emacs Keys: Define Key〕
Emacs Key Macro video tutorial
Moving to Next Line in Key Macro
To move to the next logical line (line with a line return at the end), move to end of line first, then right cursor moves it to beginning of next line. Because if you have Emacs: Visual Line Mode on, down arrow may move to the next visual line.