既存のキーボードマクロの一覧を表示するには、M-x list-keyboard-macros RET と入力してください。これにより、*Keyboard Macro List* という名前のバッファに Kmacro Menu が表示されます。一覧の各行には、マクロの位置、カウンタ値、カウンタ形式、その形式で表したカウンタ値、およびマクロキーが表示されます。以下にマクロ一覧の例を示します。
Position Counter Format Formatted Keys 0 8 %02d 08 N : SPC <F3> RET 1 0 %d 0 l o n g SPC p h r a s e
マクロは、最新のマクロを位置番号0の最上部に、それより古いマクロをキーボードマクロリング内で検出された順に並べて表示されます(キーボードマクロリングを参照)。Kmacroメニューを使用すると、マクロの順序を変更したり、カウンター、カウンター形式、およびキーを変更したりできます。Kmacroメニューは読み取り専用バッファであり、本セクションで説明する専用コマンドを通じてのみ変更可能です。コマンドを実行すると、Kmacroメニューにマクロプロパティおよびマクロリングの新しい値が反映されます。このバッファでは、通常のカーソル移動コマンドのほか、テーブル内を移動するための専用移動コマンドも使用できます。専用コマンドの一覧を表示するには、Kmacroメニューで
C-h m または ? (describe-mode) と入力してください。
以下のコマンドを使用して、マクロのプロパティを変更できます。
現在の行にあるマクロの位置を変更します(キーボードマクロリングを参照)。
transpose-linesのように、現在の行にあるマクロを1行上に移動する。
現在の行にあるマクロのカウンタ値を変更します(キーボードマクロカウンタを参照)。
現在の行にあるマクロのカウンタ形式を変更する。
edit-kbd-macro を使用して、現在の行にあるマクロのキーを変更します(キーボードマクロの編集を参照)。
上記のコマンドを使用して、現在の行にあるマクロの現在の列の値を変更してください。
以下のコマンドは、リスト内のマクロを削除または複製します。
現在の行のマクロに削除フラグを立て、ポイントを次の行に移動します(kmacro-menu-flag-for-deletion)。削除フラグは、行頭の文字 ‘D’ で示されます。削除は、x
コマンド(後述)を入力したときにのみ行われます。
リージョンがアクティブな場合、このコマンドはそのリージョン内のすべてのマクロにフラグを立てます。
リスト内で削除対象としてマークされたマクロ(kmacro-menu-do-flagged-delete)を削除します。
現在の行のマクロをマークし、ポイントを次の行に移動します (kmacro-menu-mark)。マークされたマクロは、行頭の文字 ‘*’ で示されます。マークされたマクロは、C および
D コマンドで操作できます(後述)。
リージョンがアクティブな場合、このコマンドはリージョン内のすべてのマクロにマークを付けます。
このコマンドは、リスト内の現在の位置にあるマクロを複製してコピーします(kmacro-menu-do-copy)。例えば、位置0にあるマクロに対してこのコマンドを実行すると、そのマクロのコピーが位置1に挿入され、残りのマクロが下に移動します。
リージョンがアクティブな場合、このコマンドはリージョン内のマクロを複製します。そうでない場合、マークされたマクロがあれば、このコマンドはマークされたマクロを複製します。リージョンもマークされたマクロもない場合は、このコマンドは現在の行にあるマクロを複製します。前者の2つのケースでは、複製前に確認が求められます。
このコマンドはマクロを削除し、リング(kmacro-menu-do-delete)から取り除きます。例えば、位置0にあるマクロに対してこのコマンドを実行すると、現在のマクロが削除され、次にマクロリング内の最初のマクロ(以前は位置1にあったもの)が新たな現在のマクロとなり、リングから取り除かれます。
リージョンがアクティブな場合、このコマンドはリージョン内のマクロを削除します。そうでない場合、マークされたマクロがあれば、このコマンドはマークされたマクロを削除します。リージョンもマークされたマクロもない場合は、このコマンドは現在の行にあるマクロを削除します。いずれの場合も、削除前に確認が求められます。
このコマンドは、d および x コマンド(上記参照)の代替となります。
現在の行にあるマクロのマークとフラグを解除し、ポイントを次の行へ移動します (kmacro-menu-unmark)。アクティブなリージョンがある場合、このコマンドはそのリージョン内のすべてのマクロのマークとフラグを解除します。
uコマンド(上記参照)と同様ですが、アクティブな領域がない場合にはポイントを前の行に移動します(kmacro-menu-unmark-backward)。
リスト内のすべてのマクロのマークとフラグを解除する (kmacro-menu-unmark-all)。