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

ミニバッファコマンドの繰り返し

ミニバッファを少なくとも1回使ったコマンドは,すべてミニバッファ引数の 値と一緒に特別のリストに履歴が記録されます.これを使ってそのコマンドを簡 単に繰り返すことができます.特にM-xはコマンド名を読むためにミニバッ ファを使うので,必ず記録されます.

C-x ESC
最近のミニバッファのコマンドを再実行します (repeat-complex-command).
M-p
C-x ESC中で1つ前に記録されたコマンドに移ります (previous-complex-command).
M-n
C-x ESC中で1つ後ろに記録されたコマンドに移ります (next-complex-command).
M-x list-command-history
C-x ESCで繰り返すことができるすべてのコマンド履歴を新しいも のから表示します.

C-x ESCはミニバッファを使った最近のコマンドを再実行します. 引数がなければ,その中で最後のコマンドを繰り返します.数引数は,どのコマ ンドを繰り返すかを指示します.1では最後のものを,それ以上ではもっと以前 のものを実行します.

C-x ESCは前のコマンドをLisp式に変えて,その式のテキストを 入れたミニバッファを起動します.RETだけを入力すると,このコマンド は前の通りに繰り返されます.Lisp式を編集して,コマンドを変更できます.最 終的に得られた結果の式が実行されます.繰り返されたコマンドは,直前に実行 してすでに履歴にあるものと少しでも変わったときはコマンド履歴の先頭に付け 加えられます.

Lispの構文を知らなくても,どのコマンドを繰り返しのために表示しているか はたぶんわかるでしょう.テキストを変更しなければ,以前とまったく同じに繰 り返すことは確かです.

C-x ESCでミニバッファを選択したときに,表示されたコマンド が繰り返したいものでなかった場合,M-nM-pを使ってコマンド履 歴を移動できます.M-pはミニバッファの内容を1つ前に記録されたコマン ドと入れ換え,M-nは1つ後ろに記録されたコマンドと入れ換えます.欲し いものが見つかったら,その式は通常のように編集できるし,RETを入力 して実行もできます.表示されたコマンドに行なった編集はM-nM-pで失われます.

M-pM-nよりもよく使われます.これは,まず最後のコマンドを 繰り返すことが多く,ついでその前のコマンドを繰り返すためです.これらのキー はC-x ESCの中でprevious-complex-commandnext-complex-commandのコマンドを実行するように特別に定義されてい ます.

ミニバッファを使ったコマンドは,変数command-historyにLispのリス トとして保存されています.要素はそれぞれ1つのコマンドとその引数からなる Lisp式です.command-historyの要素をevalに与えることによっ てLispプログラムからも再実行ができます.


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