Next: , Previous: , Up: The Emacs Editor   [Contents][Index]


3 キー

Emacsコマンドには、ただ1つの入力イベントで呼び出されるものが、いくつかあります。たとえばC-fはバッファーを1文字前方に移動します。他のコマンドは、C-x C-fC-x 4 C-fのように、2つ以上の入力イベントにより呼び出されます。

キーシーケンス(key sequence)、短く書くとキー(key)は、1つの単位として考えることのできる、1つまたはそれ以上の一連の入力イベントの集まりのことです。もし、あるキーシーケンスがコマンドを呼び出すような場合、それをコンプリートキー(complete key)と呼ぶことにします。たとえばC-fC-x C-fC-x 4 C-fなどはコンプリートキーです。もし、あるキーシーケンスがコマンドを呼び出すほど十分長くないとき、それをプレフィクスキー(prefix key)と呼ぶことにします。たとえば前の例でいうと、C-xC-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-cC-hC-xC-x RETC-x @C-x aC-x nC-x rC-x tC-x vC-x 4C-x 5C-x 6ESCM-gです(F1F2C-hC-x 6のエイリアス)。このリストは不変のものではありません。Emacsをカスタマイズすれば、新しいプレフィクスキーを作ることができます。標準のプレフィクスキーを無効にすることさえできますが、これはほとんどのユーザーにたいして推奨はできません。たとえばプレフィクス定義C-x 4を削除すると、C-x 4 C-fは無効なキーシーケンスになります。キーバインディングのカスタマイズを参照してください。

プレフィックスキーのあとにヘルプ文字(C-hF1)を押すと、そのプレフィックスで始まるコマンド一覧を表示できます。唯一の例外はESCです。ESC C-hC-M-hと同じで、これは何かまったく別のことを行うコマンドです。しかしF1ならば、ESCで始まるコマンドの一覧を表示できます。