[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

F. 名前でコマンドを実行する方法 (2004/01/15)

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs21&node=M-x"
"texi/emacs21/F.名前でコマンドを実行する方法"へのコメント(無し)

Emacs のコマンドにはすべて名前があります。そして、使用頻度の高いコマン ドや素早い打鍵が必要なEmacsコマンドは、使い勝手をよくするために、キー (文字の短い列)にもバインドしてあります。もちろん、キーバインドを思い 出せなければ名前を打つことで起動できます。素早い打鍵が必要でないその他 のEmacsコマンドはキーにバインドしてありません。したがって、これらのコ マンドを実行する唯一の方法は、コマンド名を使うことです。キーに割り当て る場合には See 節 AE.3 キーバインディングのカスタマイズ を参照してください。

慣習として、コマンド名は1単語かハイフンで区切った2語以上の単語からでき ています。たとえば、auto-fill-modemanual-entryです。た とえ打鍵文字数が多くなったとしても、(意図が)不明瞭な文字数個をキーと して使うよりも、英単語をコマンド名として使うほうが覚えやすいのです。

コマンドをその名前で実行するには、M-xで始めて、 コマンド名を打ち込み、RETで終えます。 M-xは、コマンド名を読むためにミニバッファを使います。 RETキーはミニバッファを抜けてコマンドを実行します。 このとき、プロンプトとして文字列`M-x'を ミニバッファの先頭に表示して、 実行するコマンド名を入力しなければならないことをユーザーに示します。 ミニバッファの詳細については、See 節 E. ミニバッファ (2005/05/02)

コマンド名の入力には、補完を使えます。 たとえば、つぎのように打って、 コマンドforward-charを起動できます。

 
M-x forward-char RET

あるいは、

 
M-x forw TAB c RET

とします。 ここで、forward-charは、 C-fキーで起動されるコマンドと同じです。 コマンドがキーにバインドしてあるかどうかに関わらず、 M-xですべてのEmacsコマンドを名前で起動できます。

コマンド名を入力中にC-gを打つと、 M-xコマンドを取り消してミニバッファから抜け出し、 最終的にはトップレベルに戻ります。

M-xで起動するコマンドに数引数を渡すには、 M-xを打つまえに、数引数を指定します。 M-xは、実行する関数に引数を渡します。 引数の値は、コマンド名を読み込んでいるあいだ、プロンプトに表示されます。

入力したコマンドに専用のキーバインドがある場合には、 Emacsはその旨エコー領域に表示します。 この表示は、コマンドの実行が終了したあと、2秒間表示されます (すぐに何かを打てば、この限りではない)。 たとえば、コマンドM-x forward-wordを入力した場合、 M-fと打ったほうが簡単に同じコマンドを実行できるという意味の メッセージが表示されます。 suggest-key-bindingsnilを設定すれば、 これらのメッセージ表示をオフにできます。

本書では、名前で実行するコマンドの説明において、 名前を終えるために必要なRETを省略します。 つまり、M-x auto-fill-mode RETではなく、 M-x auto-fill-modeとします。 コマンド名に続く引数も示す場合のように、 RETが必要なことを強調する場合にのみ、 RETを書きます。

M-xは、execute-extended-commandを実行することで動作します。 execute-extended-commandは、 他のコマンドの名前を読み取って、それを実行する役割を担うコマンドです。


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]