Next: キーとコマンド, Previous: ユーザー入力の種類, Up: The Emacs Editor [Contents][Index]
Emacsコマンドには、ただ1つの入力イベントで呼び出されるものが、いくつかあります。たとえばC-fはバッファーを1文字前方に移動します。他のコマンドは、C-x C-fやC-x 4 C-fのように、2つ以上の入力イベントにより呼び出されます。
キーシーケンス(key sequence)、短く書くとキー(key)は、1つの単位として考えることのできる、1つまたはそれ以上の一連の入力イベントの集まりのことです。もし、あるキーシーケンスがコマンドを呼び出すような場合、それをコンプリートキー(complete key)と呼ぶことにします。たとえばC-f、C-x C-f、C-x 4 C-fなどはコンプリートキーです。もし、あるキーシーケンスがコマンドを呼び出すほど十分長くないとき、それをプレフィクスキー(prefix key)と呼ぶことにします。たとえば前の例でいうと、C-xやC-x 4はプレフィクスキーです。すべてのキーシーケンスは、コンプリートキーかプレフィクスキーのどちらかになります。
プレフィクスキーは、その後の入力イベントと組み合わせて、もっと長いキーシーケンスを作るためのものです。たとえばC-x はプレフィクスキーなので、C-xと入力しただけではコマンドは呼び出されません。かわりにEmacsは更なる入力を待ちます(もし1秒以上入力がない場合、入力を促すためにC-xがエコーされます。エコーエリアを参照)。C-xは、それに続く次の入力イベントと組み合わされる、2イベントのキーシーケンスで、それはプレフィクスキー(C-x 4)など)のときもあれば、コンプリートキー(C-x C-fなど)のときもあります。キーシーケンスの長さに制限はありませんが、実際に3つ、4つ以上の入力イベントの場合は、ほとんどありません。
コンプリートキーに入力イベントを付け加えることはできません。たとえば、C-fはコンプリートキーなので、2イベントのシーケンスC-f C-kは、1つではなく2つのキーシーケンスです。
デフォルトではEmacsのプレフィクスキーはC-c、C-h、C-x、C-x RET、C-x @、C-x a、C-x n、C-x r、C-x t、C-x v、C-x 4、C-x 5、C-x 6、ESC、M-gです(F1とF2はC-hとC-x 6のエイリアス)。このリストは不変のものではありません。Emacsをカスタマイズすれば、新しいプレフィクスキーを作ることができます。標準のプレフィクスキーを無効にすることさえできますが、これはほとんどのユーザーにたいして推奨はできません。たとえばプレフィクス定義C-x 4を削除すると、C-x 4 C-fは無効なキーシーケンスになります。キーバインディングのカスタマイズを参照してください。
プレフィックスキーのあとにヘルプ文字(C-hやF1)を押すと、そのプレフィックスで始まるコマンド一覧を表示できます。唯一の例外はESCです。ESC C-hはC-M-hと同じで、これは何かまったく別のことを行うコマンドです。しかしF1ならば、ESCで始まるコマンドの一覧を表示できます。