本章では、一連の編集コマンドを記録し、後で便利に再現する方法について解説します。
キーボードマクロとは、一連のキー操作を代替するようにEmacsユーザーが定義したコマンドのことです。例えば、C-n M-d C-dを40回入力しようとしていることに気づいた場合、C-n M-d C-dを実行するキーボードマクロを定義し、それをさらに39回実行することで作業を効率化できます。
キーボードマクロは、定義となるコマンドを実行して記録することで作成します。言い換えれば、キーボードマクロを定義する際、その定義が初めて実行されることになります。これにより、コマンドの効果をその場で確認できるため、頭の中で仕組みを考える必要がなくなります。定義を閉じると、キーボードマクロが定義され、同時に実質的に一度実行されたことになります。その後、マクロを呼び出すことで、一連の操作を再度行うことができます。
キーボードマクロが通常のEmacsコマンドと異なる点は、LispではなくEmacsコマンド言語で記述されることにある。これにより、初心者にとっても記述が容易になり、一時的な応急策としてもより便利になる。しかし、Emacsコマンド言語はプログラミング言語として十分な表現力を備えていないため、知的あるいは汎用的なものを書くには不向きである。そうした用途には、Lispを用いる必要がある。