22 Keyboard Macros
In this chapter we describe how a sequence of editing commands can
be recorded and repeated multiple times.
A keyboard macro is a command defined by the user to stand for
another sequence of keys. For example, if you discover that you are
about to type C-n C-d forty times, you can speed your work by
defining a keyboard macro to do C-n C-d and calling it with a
repeat count of forty.
You define a keyboard macro while executing the commands which are the
definition. Put differently, as you define a keyboard macro, the
definition is being executed for the first time. This way, you can see
what the effects of your commands are, so that you don't have to figure
them out in your head. When you are finished, the keyboard macro is
defined and also has been, in effect, executed once. You can then do the
whole thing over again by invoking the macro.
Keyboard macros differ from ordinary Emacs commands in that they are
written in the Emacs command language rather than in Lisp. This makes it
easier for the novice to write them, and makes them more convenient as
temporary hacks. However, the Emacs command language is not powerful
enough as a programming language to be useful for writing anything
intelligent or general. For such things, Lisp must be used.