C-x q (kbd-macro-query
)によってquery-replace
と同じ
ような効果が得られます.これは,変更を行なう所にくると,マクロは変更の確
認要求をします.マクロ定義時に,確認要求すべき場所で,C-x qを入力
します.マクロの定義時にはC-x qは何もしませんが,そのマクロが呼び
出されたときには,C-x qは端末から1文字を読みとって,実行を続けるか
どうかを決定します.
答としてSPC,DEL,C-d,C-l,C-rがありま す.他のどんな文字を入力してもキーボードマクロの実行は終了し,コマンドと して読みとられます.SPCは続行を意味します.DELはそのマクロの 今回の1回文の実行に置いては残りの部分を飛ばし,次の繰り返しとしてはじめ から実行されます.C-dはこの1回文の実行の残りの部分を飛ばし,そして それ以上の繰り返しは行ないません.C-lを押すとシステムは画面を書き 直し,もう一度問い合わせてきます.C-rは再帰編集レベルになって,そ こでマクロにはない編集を行なえるようにします.C-M-cで再帰編集を抜 けると,再びキーボードマクロの続行について問い合わせがあります.ここで SPCを入力すると,マクロ定義の残りの部分が実行されます.マクロの残 りの部分が望みの動作をするように,ポイントとテキストの位置や状態を整えて おくのは利用者の責任です.
C-u C-x q (C-x qに数引数を付けたもの)は違った機能になりま す.これはマクロの定義時とマクロとして実行されたときの両方で,キーボード からの入力を読みとる再帰編集を起動します.マクロ定義時に再帰編集で行なっ た編集は,マクロの一部にはなりません.マクロの実行時には,再帰編集レベル で特別な編集が行なえます.See section 再帰編集レベル.