[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to kmacro.texi
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] Changes to kmacro.texi |
Date: |
Thu, 06 Sep 2007 04:37:50 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Glenn Morris <gm> 07/09/06 04:37:50
Index: kmacro.texi
===================================================================
RCS file: kmacro.texi
diff -N kmacro.texi
--- kmacro.texi 21 Jan 2007 04:41:11 -0000 1.20
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,616 +0,0 @@
address@hidden This is part of the Emacs manual.
address@hidden Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000,
2001,
address@hidden 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation,
Inc.
address@hidden See file emacs.texi for copying conditions.
address@hidden Keyboard Macros, Files, Fixit, Top
address@hidden Keyboard Macros
address@hidden defining keyboard macros
address@hidden keyboard macro
-
- In this chapter we describe how to record a sequence of editing
-commands so you can repeat it conveniently later.
-
- A @dfn{keyboard macro} is a command defined by an Emacs user to stand for
-another sequence of keys. For example, if you discover that you are
-about to type @kbd{C-n M-d C-d} forty times, you can speed your work by
-defining a keyboard macro to do @kbd{C-n M-d C-d}, and then executing
-it 39 more times.
-
- You define a keyboard macro by executing and recording the commands
-which are its definition. Put differently, as you define a keyboard
-macro, the definition is being executed for the first time. This way,
-you can see the effects of your commands, so that you don't have to
-figure them out in your head. When you close the definition, 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.
-
address@hidden
-* Basic Keyboard Macro:: Defining and running keyboard macros.
-* Keyboard Macro Ring:: Where previous keyboard macros are saved.
-* Keyboard Macro Counter:: Inserting incrementing numbers in macros.
-* Keyboard Macro Query:: Making keyboard macros do different things each
time.
-* Save Keyboard Macro:: Giving keyboard macros names; saving them in
files.
-* Edit Keyboard Macro:: Editing keyboard macros.
-* Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard
- macro.
address@hidden menu
-
address@hidden Basic Keyboard Macro
address@hidden Basic Use
-
address@hidden @kbd
address@hidden @key{F3}
address@hidden C-x (
-Start defining a keyboard macro (@code{kmacro-start-macro}).
address@hidden @key{F4}
-If a keyboard macro is being defined, end the definition; otherwise,
-execute the most recent keyboard macro
-(@code{kmacro-end-or-call-macro}).
address@hidden C-x )
-End the definition of a keyboard macro (@code{kmacro-end-macro}).
address@hidden C-x e
-Execute the most recent keyboard macro (@code{kmacro-end-and-call-macro}).
-First end the definition of the keyboard macro, if currently defining it.
-To immediately execute the keyboard macro again, just repeat the @kbd{e}.
address@hidden C-u C-x (
-Re-execute last keyboard macro, then add more keys to its definition.
address@hidden C-u C-u C-x (
-Add more keys to the last keyboard macro without re-executing it.
address@hidden C-x C-k r
-Run the last keyboard macro on each line that begins in the region
-(@code{apply-macro-to-region-lines}).
address@hidden table
-
address@hidden F3
address@hidden F4
address@hidden C-x (
address@hidden C-x )
address@hidden C-x e
address@hidden kmacro-start-macro
address@hidden kmacro-end-macro
address@hidden kmacro-end-and-call-macro
- To start defining a keyboard macro, type the @kbd{F3} or @kbd{C-x (} command
-(@code{kmacro-start-macro}). From then on, your keys continue to be
-executed, but also become part of the definition of the macro. @samp{Def}
-appears in the mode line to remind you of what is going on. When you are
-finished, the @kbd{F4} or @kbd{C-x )} command (@code{kmacro-end-macro})
terminates the
-definition (without becoming part of it!). For example,
-
address@hidden
-C-x ( M-f foo C-x )
address@hidden example
-
address@hidden
-defines a macro to move forward a word and then insert @samp{foo}.
-
- The macro thus defined can be invoked again with the @kbd{C-x e}
-command (@code{kmacro-end-and-call-macro}), which may be given a
-repeat count as a numeric argument to execute the macro many times.
-If you enter @kbd{C-x e} while defining a macro, the macro is
-terminated and executed immediately.
-
- After executing the macro with @kbd{C-x e}, you can use @kbd{e}
-repeatedly to immediately repeat the macro one or more times. For example,
-
address@hidden
-C-x ( xyz C-x e e e
address@hidden example
-
address@hidden
-inserts @samp{xyzxyzxyzxyz} in the current buffer.
-
- @kbd{C-x )} can also be given a repeat count as an argument, in
-which case it repeats the macro that many times right after defining
-it, but defining the macro counts as the first repetition (since it is
-executed as you define it). Therefore, giving @kbd{C-x )} an argument
-of 4 executes the macro immediately 3 additional times. An argument
-of zero to @kbd{C-x e} or @kbd{C-x )} means repeat the macro
-indefinitely (until it gets an error or you type @kbd{C-g} or, on
-MS-DOS, @address@hidden).
-
- The key @key{F4} is like a combination of @kbd{C-x )} and @kbd{C-x
-e}. If you're defining a macro, @key{F4} ends the definition.
-Otherwise it executes the last macro. For example,
-
address@hidden
-F3 xyz F4 F4 F4
address@hidden example
-
address@hidden
-inserts @samp{xyzxyzxyz} in the current buffer.
-
- If you wish to repeat an operation at regularly spaced places in the
-text, define a macro and include as part of the macro the commands to move
-to the next place you want to use it. For example, if you want to change
-each line, you should position point at the start of a line, and define a
-macro to change that line and leave point at the start of the next line.
-Then repeating the macro will operate on successive lines.
-
- When a command reads an argument with the minibuffer, your
-minibuffer input becomes part of the macro along with the command. So
-when you replay the macro, the command gets the same argument as
-when you entered the macro. For example,
-
address@hidden
-C-x ( C-a address@hidden C-n M-w C-x b f o o @key{RET} C-y C-x b @key{RET} C-x
)
address@hidden example
-
address@hidden
-defines a macro that copies the current line into the buffer
address@hidden, then returns to the original buffer.
-
- You can use function keys in a keyboard macro, just like keyboard
-keys. You can even use mouse events, but be careful about that: when
-the macro replays the mouse event, it uses the original mouse position
-of that event, the position that the mouse had while you were defining
-the macro. The effect of this may be hard to predict. (Using the
-current mouse position would be even less predictable.)
-
- One thing that sometimes works badly in a keyboard macro is the
-command @kbd{C-M-c} (@code{exit-recursive-edit}). When this command
-exits a recursive edit that started within the macro, it works as
-you'd expect. But if it exits a recursive edit that started before
-you invoked the keyboard macro, it also necessarily exits the keyboard
-macro as part of the process.
-
- After you have terminated the definition of a keyboard macro, you can add
-to the end of its definition by typing @kbd{C-u F3} or @kbd{C-u C-x (}.
-This is equivalent
-to plain @kbd{C-x (} followed by retyping the whole definition so far. As
-a consequence it re-executes the macro as previously defined.
-
- You can also add to the end of the definition of the last keyboard
-macro without re-executing it by typing @kbd{C-u C-u C-x (}.
-
- The variable @code{kmacro-execute-before-append} specifies whether
-a single @kbd{C-u} prefix causes the existing macro to be re-executed
-before appending to it.
-
address@hidden apply-macro-to-region-lines
address@hidden C-x C-k r
- The command @kbd{C-x C-k r} (@code{apply-macro-to-region-lines})
-repeats the last defined keyboard macro on each line that begins in
-the region. It does this line by line, by moving point to the
-beginning of the line and then executing the macro.
-
address@hidden Keyboard Macro Ring
address@hidden The Keyboard Macro Ring
-
- All defined keyboard macros are recorded in the ``keyboard macro ring,''
-a list of sequences of keys. There is only one keyboard macro ring,
-shared by all buffers.
-
address@hidden @kbd
address@hidden C-x C-k C-k
-Execute the keyboard macro at the head of the ring
(@code{kmacro-end-or-call-macro-repeat}).
address@hidden C-x C-k C-n
-Rotate the keyboard macro ring to the next macro (defined earlier)
-(@code{kmacro-cycle-ring-next}).
address@hidden C-x C-k C-p
-Rotate the keyboard macro ring to the previous macro (defined later)
-(@code{kmacro-cycle-ring-previous}).
address@hidden table
-
- All commands which operate on the keyboard macro ring use the
-same @kbd{C-x C-k} prefix. Most of these commands can be executed and
-repeated immediately after each other without repeating the @kbd{C-x
-C-k} prefix. For example,
-
address@hidden
-C-x C-k C-p C-p C-k C-k C-k C-n C-n C-k C-p C-k C-d
address@hidden example
-
address@hidden
-will rotate the keyboard macro ring to the ``second previous'' macro,
-execute the resulting head macro three times, rotate back to the
-original head macro, execute that once, rotate to the ``previous''
-macro, execute that, and finally delete it from the macro ring.
-
address@hidden kmacro-end-or-call-macro-repeat
address@hidden C-x C-k C-k
- The command @kbd{C-x C-k C-k} (@code{kmacro-end-or-call-macro-repeat})
-executes the keyboard macro at the head of the macro ring. You can
-repeat the macro immediately by typing another @kbd{C-k}, or you can
-rotate the macro ring immediately by typing @kbd{C-n} or @kbd{C-p}.
-
- When a keyboard macro is being defined, @kbd{C-x C-k C-k} behaves like
address@hidden )} except that, immediately afterward, you can use most key
-bindings of this section without the @kbd{C-x C-k} prefix. For
-instance, another @kbd{C-k} will re-execute the macro.
-
address@hidden kmacro-cycle-ring-next
address@hidden C-x C-k C-n
address@hidden kmacro-cycle-ring-previous
address@hidden C-x C-k C-p
- The commands @kbd{C-x C-k C-n} (@code{kmacro-cycle-ring-next}) and
address@hidden C-k C-p} (@code{kmacro-cycle-ring-previous}) rotate the
-macro ring, bringing the next or previous keyboard macro to the head
-of the macro ring. The definition of the new head macro is displayed
-in the echo area. You can continue to rotate the macro ring
-immediately by repeating just @kbd{C-n} and @kbd{C-p} until the
-desired macro is at the head of the ring. To execute the new macro
-ring head immediately, just type @kbd{C-k}.
-
- Note that Emacs treats the head of the macro ring as the ``last
-defined keyboard macro.'' For instance, @kbd{C-x e} will execute that
-macro, and @kbd{C-x C-k n} will give it a name.
-
address@hidden @c This interface is too kludgy
- @c and the functionality duplicates the functionality above -- rms.
address@hidden kmacro-view-macro-repeat
address@hidden C-x C-k C-v
- The command @kbd{C-x C-k C-v} (@code{kmacro-view-macro-repeat})
-displays the last keyboard macro, or when repeated (with @kbd{C-v}),
-it displays the previous macro on the macro ring, just like @kbd{C-x
-C-k C-p}, but without actually rotating the macro ring. If you enter
address@hidden immediately after displaying a macro from the ring, that
-macro is executed, but still without altering the macro ring.
-
- So while e.g. @kbd{C-x C-k C-p C-p C-p C-k C-k} makes the 3rd previous
-macro the current macro and executes it twice, @kbd{C-x C-k C-v C-v
-C-v C-k C-k} will display and execute the 3rd previous macro once and
-then the current macro once.
address@hidden ignore
-
address@hidden @c This is just too much feeping creaturism.
- @c If you are reusing certain macros enough to want these,
- @c you should give then names. -- rms
address@hidden kmacro-delete-ring-head
address@hidden C-x C-k C-d
-
- The command @kbd{C-x C-k C-d} (@code{kmacro-delete-ring-head})
-removes and deletes the macro currently at the head of the macro
-ring. You can use this to delete a macro that didn't work as
-expected, or which you don't need anymore.
-
address@hidden kmacro-swap-ring
address@hidden C-x C-k C-t
-
- The command @kbd{C-x C-k C-t} (@code{kmacro-swap-ring})
-interchanges the head of the macro ring with the previous element on
-the macro ring.
-
address@hidden kmacro-call-ring-2nd-repeat
address@hidden C-x C-k C-l
-
- The command @kbd{C-x C-k C-l} (@code{kmacro-call-ring-2nd-repeat})
-executes the previous (rather than the head) element on the macro ring.
address@hidden ignore
-
address@hidden kmacro-ring-max
- The maximum number of macros stored in the keyboard macro ring is
-determined by the customizable variable @code{kmacro-ring-max}.
-
address@hidden Keyboard Macro Counter
address@hidden The Keyboard Macro Counter
-
address@hidden @kbd
address@hidden C-x C-k C-i
-Insert the keyboard macro counter value in the buffer
-(@code{kmacro-insert-counter}).
address@hidden C-x C-k C-c
-Set the keyboard macro counter (@code{kmacro-set-counter}).
address@hidden C-x C-k C-a
-Add the prefix arg to the keyboard macro counter (@code{kmacro-add-counter}).
address@hidden C-x C-k C-f
-Specify the format for inserting the keyboard macro counter
-(@code{kmacro-set-format}).
address@hidden table
-
- Each keyboard macro has an associated counter. Normally, the
-macro counter is initialized to 0 when you start defining the macro,
-and incremented by 1 after each insertion of the counter value;
-that is, if you insert the macro counter twice while defining the
-macro, the counter will increase by 2 on each repetition of the macro.
-
address@hidden kmacro-insert-counter
address@hidden C-x C-k C-i
- The command @kbd{C-x C-k C-i} (@code{kmacro-insert-counter}) inserts
-the current value of the current keyboard macro's counter, and
-increments the counter by 1. You can use a numeric prefix argument to
-specify a different increment. If you just specify a @kbd{C-u}
-prefix, then the increment is zero, so it repeats the last inserted
-counter value. For example, if you enter the following sequence while
-defining a macro
-
address@hidden
-C-x C-k C-i C-x C-k C-i C-u C-x C-k C-i C-x C-k C-i
address@hidden example
-
address@hidden
-it inserts @samp{0112} in the buffer. The next two iterations
-of the macro will insert @samp{3445} and @samp{6778}.
-
- This command usually only makes sense while defining a keyboard
-macro. But its behavior when no keyboard macro is being defined or
-executed is predictable: it inserts and increments the counter of the
-macro at the head of the keyboard macro ring.
-
address@hidden kmacro-set-counter
address@hidden C-x C-k C-c
- The command @kbd{C-x C-k C-c} (@code{kmacro-set-counter}) sets the
-current macro counter to the value of the numeric argument. If you use
-it inside the macro, it operates on each repetition of the macro. If
-you specify just @kbd{C-u} as the prefix, while executing the macro,
-that resets the counter to the value it had at the beginning of the
-current repetition of the macro (undoing any increments so far in this
-repetition).
-
address@hidden kmacro-add-counter
address@hidden C-x C-k C-a
- The command @kbd{C-x C-k C-a} (@code{kmacro-add-counter}) adds the
-prefix argument to the current macro counter. With just @kbd{C-u} as
-argument, it resets the counter to the last value inserted by any
-keyboard macro. (Normally, when you use this, the last insertion
-will be in the same macro and it will be the same counter.)
-
address@hidden kmacro-set-format
address@hidden C-x C-k C-f
- The command @kbd{C-x C-k C-f} (@code{kmacro-set-format}) prompts for
-the format to use when inserting the macro counter. The default
-format is @samp{%d}, which means to insert the number in decimal
-without any padding. You can exit with empty minibuffer to reset the
-format to this default. You can specify any format string that the
address@hidden function accepts and that makes sense with a single
-integer extra argument (@pxref{Formatting Strings,,, elisp, The Emacs
-Lisp Reference Manual}). Do not put the format string inside double
-quotes when you insert it in the minibuffer.
-
- If you use this command while no keyboard macro is being defined or
-executed, the new format affects all subsequent macro definitions.
-Existing macros continue to use the format in effect when they were
-defined. If you set the format while defining a keyboard macro, this
-affects the macro being defined from that point on, but it does not
-affect subsequent macros. Execution of the macro will, at each step,
-use the format in effect at that step during its definition. Changes
-to the macro format during execution of a macro, like the
-corresponding changes during its definition, have no effect on
-subsequent macros.
-
- The format set by @kbd{C-x C-k C-f} does not affect insertion of
-numbers stored in registers.
-
address@hidden Keyboard Macro Query
address@hidden Executing Macros with Variations
-
address@hidden @kbd
address@hidden C-x q
-When this point is reached during macro execution, ask for confirmation
-(@code{kbd-macro-query}).
address@hidden table
-
address@hidden C-x q
address@hidden kbd-macro-query
- Using @kbd{C-x q} (@code{kbd-macro-query}), you can get an effect
-similar to that of @code{query-replace}, where the macro asks you each
-time around whether to make a change. While defining the macro,
-type @kbd{C-x q} at the point where you want the query to occur. During
-macro definition, the @kbd{C-x q} does nothing, but when you run the
-macro later, @kbd{C-x q} asks you interactively whether to continue.
-
- The valid responses when @kbd{C-x q} asks are @key{SPC} (or @kbd{y}),
address@hidden (or @kbd{n}), @key{RET} (or @kbd{q}), @kbd{C-l} and @kbd{C-r}.
-The answers are the same as in @code{query-replace}, though not all of
-the @code{query-replace} options are meaningful.
-
- These responses include @key{SPC} to continue, and @key{DEL} to skip
-the remainder of this repetition of the macro and start right away with
-the next repetition. @key{RET} means to skip the remainder of this
-repetition and cancel further repetitions. @kbd{C-l} redraws the screen
-and asks you again for a character to say what to do.
-
- @kbd{C-r} enters a recursive editing level, in which you can perform
-editing which is not part of the macro. When you exit the recursive
-edit using @kbd{C-M-c}, you are asked again how to continue with the
-keyboard macro. If you type a @key{SPC} at this time, the rest of the
-macro definition is executed. It is up to you to leave point and the
-text in a state such that the rest of the macro will do what you
address@hidden
-
- @kbd{C-u C-x q}, which is @kbd{C-x q} with a numeric argument,
-performs a completely different function. It enters a recursive edit
-reading input from the keyboard, both when you type it during the
-definition of the macro, and when it is executed from the macro. During
-definition, the editing you do inside the recursive edit does not become
-part of the macro. During macro execution, the recursive edit gives you
-a chance to do some particularized editing on each repetition.
address@hidden Edit}.
-
- Another way to vary the behavior of a keyboard macro is to use a
-register as a counter, incrementing it on each repetition of the macro.
address@hidden
-
address@hidden Save Keyboard Macro
address@hidden Naming and Saving Keyboard Macros
-
address@hidden @kbd
address@hidden C-x C-k n
-Give a command name (for the duration of the Emacs session) to the most
-recently defined keyboard macro (@code{kmacro-name-last-macro}).
address@hidden C-x C-k b
-Bind the most recently defined keyboard macro to a key sequence (for
-the duration of the session) (@code{kmacro-bind-to-key}).
address@hidden M-x insert-kbd-macro
-Insert in the buffer a keyboard macro's definition, as Lisp code.
address@hidden table
-
address@hidden saving keyboard macros
address@hidden kmacro-name-last-macro
address@hidden C-x C-k n
- If you wish to save a keyboard macro for later use, you can give it
-a name using @kbd{C-x C-k n} (@code{kmacro-name-last-macro}).
-This reads a name as an argument using the minibuffer and defines that
-name to execute the last keyboard macro, in its current form. (If you
-later add to the definition of this macro, that does not alter the
-name's definition as a macro.) The macro name is a Lisp symbol, and
-defining it in this way makes it a valid command name for calling with
address@hidden or for binding a key to with @code{global-set-key}
-(@pxref{Keymaps}). If you specify a name that has a prior definition
-other than a keyboard macro, an error message is shown and nothing is
-changed.
-
address@hidden binding keyboard macros
address@hidden kmacro-bind-to-key
address@hidden C-x C-k b
- You can also bind the last keyboard macro (in its current form) to a
-key, using @kbd{C-x C-k b} (@code{kmacro-bind-to-key}) followed by the
-key sequence you want to bind. You can bind to any key sequence in
-the global keymap, but since most key sequences already have other
-bindings, you should select the key sequence carefully. If you try to
-bind to a key sequence with an existing binding (in any keymap), this
-command asks you for confirmation before replacing the existing binding.
-
- To avoid problems caused by overriding existing bindings, the key
-sequences @kbd{C-x C-k 0} through @kbd{C-x C-k 9} and @kbd{C-x C-k A}
-through @kbd{C-x C-k Z} are reserved for your own keyboard macro
-bindings. In fact, to bind to one of these key sequences, you only
-need to type the digit or letter rather than the whole key sequences.
-For example,
-
address@hidden
-C-x C-k b 4
address@hidden example
-
address@hidden
-will bind the last keyboard macro to the key sequence @kbd{C-x C-k 4}.
-
address@hidden insert-kbd-macro
- Once a macro has a command name, you can save its definition in a file.
-Then it can be used in another editing session. First, visit the file
-you want to save the definition in. Then use this command:
-
address@hidden
-M-x insert-kbd-macro @key{RET} @var{macroname} @key{RET}
address@hidden example
-
address@hidden
-This inserts some Lisp code that, when executed later, will define the
-same macro with the same definition it has now. (You need not
-understand Lisp code to do this, because @code{insert-kbd-macro} writes
-the Lisp code for you.) Then save the file. You can load the file
-later with @code{load-file} (@pxref{Lisp Libraries}). If the file you
-save in is your init file @file{~/.emacs} (@pxref{Init File}) then the
-macro will be defined each time you run Emacs.
-
- If you give @code{insert-kbd-macro} a numeric argument, it makes
-additional Lisp code to record the keys (if any) that you have bound
-to @var{macroname}, so that the macro will be reassigned the same keys
-when you load the file.
-
address@hidden Edit Keyboard Macro
address@hidden Editing a Keyboard Macro
-
address@hidden @kbd
address@hidden C-x C-k C-e
-Edit the last defined keyboard macro (@code{kmacro-edit-macro}).
address@hidden C-x C-k e @var{name} @key{RET}
-Edit a previously defined keyboard macro @var{name} (@code{edit-kbd-macro}).
address@hidden C-x C-k l
-Edit the last 100 keystrokes as a keyboard macro
-(@code{kmacro-edit-lossage}).
address@hidden table
-
address@hidden kmacro-edit-macro
address@hidden C-x C-k C-e
address@hidden C-x C-k RET
- You can edit the last keyboard macro by typing @kbd{C-x C-k C-e} or
address@hidden C-k RET} (@code{kmacro-edit-macro}). This formats the macro
-definition in a buffer and enters a specialized major mode for editing
-it. Type @kbd{C-h m} once in that buffer to display details of how to
-edit the macro. When you are finished editing, type @kbd{C-c C-c}.
-
address@hidden edit-kbd-macro
address@hidden C-x C-k e
- You can edit a named keyboard macro or a macro bound to a key by typing
address@hidden C-k e} (@code{edit-kbd-macro}). Follow that with the
-keyboard input that you would use to invoke the address@hidden e} or
address@hidden @var{name}} or some other key sequence.
-
address@hidden kmacro-edit-lossage
address@hidden C-x C-k l
- You can edit the last 100 keystrokes as a macro by typing
address@hidden C-k l} (@code{kmacro-edit-lossage}).
-
address@hidden Keyboard Macro Step-Edit
address@hidden Stepwise Editing a Keyboard Macro
-
address@hidden kmacro-step-edit-macro
address@hidden C-x C-k SPC
- You can interactively replay and edit the last keyboard
-macro, one command at a time, by typing @kbd{C-x C-k SPC}
-(@code{kmacro-step-edit-macro}). Unless you quit the macro using
address@hidden or @kbd{C-g}, the edited macro replaces the last macro on the
-macro ring.
-
- This macro editing feature shows the last macro in the minibuffer
-together with the first (or next) command to be executed, and prompts
-you for an action. You can enter @kbd{?} to get a summary of your
-options. These actions are available:
-
address@hidden @bullet{}
address@hidden
address@hidden and @kbd{y} execute the current command, and advance to the
-next command in the keyboard macro.
address@hidden
address@hidden, @kbd{d}, and @kbd{DEL} skip and delete the current command.
address@hidden
address@hidden skips the current command in this execution of the keyboard
-macro, but doesn't delete it from the macro.
address@hidden
address@hidden@key{TAB}} executes the current command, as well as all similar
-commands immediately following the current command; for example, @key{TAB}
-may be used to insert a sequence of characters (corresponding to a
-sequence of @code{self-insert-command} commands).
address@hidden
address@hidden continues execution (without further editing) until the end of
-the keyboard macro. If execution terminates normally, the edited
-macro replaces the original keyboard macro.
address@hidden
address@hidden skips and deletes the rest of the keyboard macro,
-terminates step-editing, and replaces the original keyboard macro
-with the edited macro.
address@hidden
address@hidden and @kbd{C-g} cancels the step-editing of the keyboard macro;
-discarding any changes made to the keyboard macro.
address@hidden
address@hidden KEY... C-j} reads and executes a series of key sequences (not
-including the final @kbd{C-j}), and inserts them before the current
-command in the keyboard macro, without advancing over the current
-command.
address@hidden
address@hidden KEY...} reads one key sequence, executes it, and inserts it
-before the current command in the keyboard macro, without advancing
-over the current command.
address@hidden
address@hidden KEY... C-j} reads and executes a series of key sequences (not
-including the final @kbd{C-j}), and replaces the current command in
-the keyboard macro with them, advancing over the inserted key
-sequences.
address@hidden
address@hidden KEY...} reads one key sequence, executes it, and replaces the
-current command in the keyboard macro with that key sequence,
-advancing over the inserted key sequence.
address@hidden
address@hidden KEY... C-j} executes the current command, then reads and
-executes a series of key sequences (not including the final
address@hidden), and inserts them after the current command in the keyboard
-macro; it then advances over the current command and the inserted key
-sequences.
address@hidden
address@hidden KEY... C-j} executes the rest of the commands in the keyboard
-macro, then reads and executes a series of key sequences (not
-including the final @kbd{C-j}), and appends them at the end of the
-keyboard macro; it then terminates the step-editing and replaces the
-original keyboard macro with the edited macro.
address@hidden itemize
-
address@hidden
- arch-tag: c1b0dd3b-3159-4c08-928f-52e763953e9c
address@hidden ignore