17.7 キーボードマクロのステップ編集
C-x C-k SPC
(kmacro-step-edit-macro
)とタイプして、最後のキーボードマクロをインタラクティブに1コマンドずつ再生および編集できます。マクロをqまたはC-gで終了しなければ、編集されたマクロでマクロリングの最後のマクロを置き換えます。
このマクロ編集機能は、最初(または次)に実行されるコマンドと、それにたいする操作を尋ねるプロンプトをミニバッファーに表示します。?を入力すれば、オプションの要約を表示できます。以下のオプションが利用可能です:
- SPCおよびyは、現在のコマンドを実行して、キーボードマクロの次のコマンドに進みます。
- n、d、およびDELは、現在のコマンドをスキップして削除します。
- fは、キーボードマクロの実行において現在のコマンドをスキップしますが、マクロから削除はしません。
- TABは、現在のコマンドと、現在のコマンドのすぐ後に続く同じようなコマンドを実行します。たとえば連続する文字の挿入(
self-insert-command
に相当)には、TABが使われます。
- cは、(これ以上の編集は行わずに)キーボードマクロの最後まで実行を続けます。実行が正常に終了した場合、編集されたマクロで元のキーボードマクロを置き換えます。
- C-kは、キーボードマクロの残りの部分をスキップおよび削除して、ステップ編集を終了し、編集されたマクロで元のキーボードマクロを置き換えます。
- qおよびC-gは、キーボードマクロのステップ編集を取り消して、キーボードマクロにたいして行った編集を破棄します。
- i key…
C-jは、一連のキーシーケンス(最後のC-jは含まれません)を読み取って実行し、キーボードマクロの現在のコマンドの前に挿入します(現在のコマンドはスキップしません)。
- I
key…は、1つのキーシーケンスを読み取って実行し、キーボードマクロの現在のコマンドの前に挿入します(現在のコマンドはスキップしません)。
- r key…
C-jは、一連のキーシーケンス(最後のC-jは含まれません)を読み取って実行し、現在のコマンドをそれで置き換えます(実行は挿入されたキーシーケンスの次に移ります)。
- R
key…は、1つのキーシーケンスを読み取って実行し、キーボードマクロの現在のコマンドを、そのキーシーケンスで置き換えます(実行は挿入されたキーシーケンスの次に移ります)。
- a key…
C-jは、現在のコマンドを実行してから、一連のキーシーケンス(最後のC-jは含まれません)を読み取って実行してから、それをキーボードマクロの現在のコマンドの後ろに挿入します(実行は現在のコマンドと、その後ろに挿入されたキーシーケンスの次に移ります)。
- A key…
C-jは、キーボードマクロの残りのコマンドを実行してから、一連のキーシーケンス(最後のC-jは含まれません)を読み取って実行し、それらをキーボードマクロの最後に追加します。それからステップ編集を終了し、編集されたマクロで元の元のキーボードマクロを置き換えます。