完結したキー(`キー'とはキーの列の略)とは,キー入力の列で Emacsが1つのまとまりとして,1つのコマンドとして(未定義かも知れません)理 解できるものをいいます.Emacsの標準のコマンドセットでは,ほとんどの単一 の文字は完結したキーになります.また,複数の文字からなるキーもあります. C-a,X,RET,C-x C-f,C-x 4 C-fなどが完結 したキーの例です.
接頭辞キーとは,完結したキーのはじめの部分のキー入力の列ですが, それだけでは完結したキーにならないものをいいます.接頭辞キーと完結したキー はともにキーと呼ばれます.
接頭辞キーは,有効なキーとなるもっと長い列を開始するキーとなります.つ まり接頭辞キーの終りに文字を1つ付けると有効なキーとなり,Emacsのコマンド として定義したり,さらに接頭辞キーにすることができます.たとえば, C-xは標準では接頭辞なので,C-xとその次に入力した文字をあわせ て2文字からなるキーになります.C-xで始まる2文字のキーは2文字目とし て与える文字ごとに256種類あります.その大部分はEmacsのコマンドとして定義 されています.よく使う例としては,C-x C-f,C-x sが挙げられま す(see section ファイルの扱い).
接頭辞キーに文字を1つ加えても,常に完結したキーになるとは限りません. 別のもっと長い接頭辞になる場合もあるからです.たとえば,C-x 4は接 頭辞で,C-x 4 f,C-x 4 bなどのような3文字からなるキーを256種 類作ります.それらの3文字の列を4文字からなるキーを作る接頭辞として定義す ることはできますが,Emacsではそのようになっていません.
これに対して,2文字の列C-f C-kはキーではありません.それは C-fがそれ自体で完結したキーだからです.C-fの意味を変えずに C-f C-kに1つのコマンドとしての意味づけをするのは不可能です. C-f C-kは2つのコマンドです.
Emacsの接頭辞キーは,C-c,C-x,C-h,ESCの4つで す.しかし,これは固定されているわけではなく,Emacsのキー割り当ての標準 設定となっているだけです.Emacsをカスタム化すれば,新しい接頭辞キーを設 定したり,設定を解除することができます(See section キーの結び付きのカスタム化).
ある列をキーにするようにカスタム化することができます.たとえば, C-fを接頭辞として定義すれば,C-f C-kは(これをされに接頭辞と して定義しない限り完結した)キーに自動的になります.逆にC-x 4を接頭 辞でなくせば,C-x 4 f(やC-x 4 anything)はもはやキーで はありません.