定義済みのキーボードマクロはすべてキーボードマクロリングに記録されます。キーボードマクロリングは1つのみで、すべてのバッファで共有されます。
リングの先頭(kmacro-end-or-call-macro-repeat)でキーボードマクロを実行する。
キーボードマクロリングを次のマクロ(先に定義されたもの) (kmacro-cycle-ring-next) に回転させる。
キーボードマクロリングを前のマクロ(後述) (kmacro-cycle-ring-previous)
に回転させる。
キーボードマクロリングを操作するすべてのコマンドには、共通の C-x C-k プレフィックスが使用されます。これらのコマンドの多くは、C-x C-k プレフィックスを繰り返さなくても、直後に実行したり繰り返したりすることができます。例えば、
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
キーボードのマクロリングを前々のマクロに回転させ、その結果得られたヘッドマクロを3回実行し、元のヘッドマクロに戻してそれを1回実行し、前のマクロに回転させてそれを実行し、最後にマクロリングから削除します。
コマンド C-x C-k C-k (kmacro-end-or-call-macro-repeat)
は、マクロリングの先頭にあるキーボードマクロを実行します。別の C-k
を入力することですぐにマクロを繰り返すことができるほか、C-n または C-p を入力することですぐにマクロリングを回転させることができます。
キーボードマクロを定義する際、C-x C-k C-kはF4と同様に動作しますが、その直後には、本セクションのほとんどのキーバインドをC-x C-kというプレフィックスなしで使用できます。例えば、別のC-kを指定すると、マクロが再実行されます。
コマンド C-x C-k C-n (kmacro-cycle-ring-next) および C-x C-k
C-p (kmacro-cycle-ring-previous)
はマクロリングを回転させ、次または前のキーボードマクロをマクロリングの先頭に移動させます。新しい先頭マクロの定義はエコーエリアに表示されます。目的のマクロがリングの先頭に来るまで、C-n と C-p
を繰り返すだけで、すぐにマクロリングの回転を続けることができます。新しいマクロリングの先頭を即座に実行するには、C-k と入力してください。
なお、Emacsではマクロリングの先頭を最後に定義されたキーボードマクロとして扱います。例えば、F4 はそのマクロを実行し、C-x C-k n はそのマクロに名前を付けます。
キーボードのマクロリングに格納できるマクロの最大数は、カスタマイズ可能な変数 kmacro-ring-max によって決まります。