Go to the first, previous, next, last section, table of contents.

キーボードマクロ

キーボードマクロとは,キーの列を短縮するために利用者が定義するコマンド のことです.たとえば,C-n C-dを40回入力する必要があると知ったら, C-n C-dを行なうキーボードマクロを定義し,40回の繰り返し回数をつけ てそれを呼び出せば作業のスピードアップが図れます.

C-x (
キーボードマクロの定義を始めます(start-kbd-macro).
C-x )
キーボードマクロの定義を終えます(end-kbd-macro).
C-x e
最も新しいキーボードマクロを実行します(call-last-kbd-macro).
C-u C-x (
最も新しいキーボードマクロをもう一度実行し,続けて,定義にさらにキーを付 け加えます.
C-x q
マクロの実行時にこの点にきたら,確認を求めます(kbd-macro-query).
M-x name-last-kbd-macro
最も新しく定義したキーボードマクロに(そのセッションの間有効な)コマンド名 を付けます.
M-x insert-kbd-macro
キーボードマクロの定義をLispコードにしてバッファに挿入します.

キーボードマクロが通常のEmacsコマンドと違う点は,LispではなくEmacsのコ マンド言語で書かれている点です.これにより初心者でも簡単に書けるし,一時 的な道具としても使いやすくなっています.しかし,Emacsのコマンド言語は賢 いあるいは一般的なものを書くのに有用なプログラム言語ほどは,強力ではあり ません.それらの用途にはLispを使わなければなりません.

キーボードマクロの定義は,定義となるコマンドを実行しながら行ないます. 別の言葉でいうと,キーボードマクロを定義している最中に1回目の実行がすで に行なわれているわけです.こうして,利用者はコマンド実行の効果が見られる ので,それを頭の中に描く必要はありません.完了したときにはキーボードマク ロが定義されていると同時に,すでに1回実行されていることになります.その あとは,そのマクロを呼び出すことにより全体の操作を再び繰り返すことができ ます.


Go to the first, previous, next, last section, table of contents.