Next: , Previous: , Up: キーバインディングのカスタマイズ   [Contents][Index]


50.3.2 プレフィクスキーマップ

内部的には、Emacsは各キーマップの1つのイベントだけを記録します。複数イベントのキーシーケンスの解釈は、キーマップの連鎖を生じます。最初のイベントにたいして最初のキーマップが定義を与え、シーケンス内の2番目のイベントを探すのに他のキーマップが使用され...と連鎖していきます。したがってC-xESCなどのプレフィクスキーは独自のキーマップをもち、それらはプレフィクスの直後のイベントにたいする定義を保持します。

プレフィクスキーの定義は通常、それに続くイベントを探すのに使用するキーマップです。プレフィクスキーの定義として、関数定義がキーマップであるようなLispシンボルを指定することもできます。効果は同じですが、そのプレフィクスキーが何のためなのか説明するためのコマンド名を提供します。たとえば、C-xのバインディングはシンボルControl-X-prefixで、このシンボルの関数定義は、C-xコマンドにたいするキーマップです。プレフィクスキーとしてのC-cC-xC-hESCは、グローバルキーマップに定義されているので、これらのプレフィクスキーは常に利用できます。

通常のプレフィクスキー以外に、“架空のプレフィクスキー(fictitious prefix key)”もあり、これらはメニューバーを表します。メニューバーのキーバインディングについての特別な情報は、Menu Bar in The Emacs Lisp Reference Manualを参照してください。ポップアップメニューを呼び出すマウスボタンイベントもプレフィクスキーです。詳細については、Menu Keymaps in The Emacs Lisp Reference Manualを参照してください。

いくつかのキーマップは、名前のついた変数に格納されています: