グローバルキーマップは、 (カレントなバッファによらない) single-character キー の意味を定義します。変数 global-map がこのキーマップを持ちます。
各バッファは、別にキーマップ(そのローカルキーマップ)を持つことがあります。これ は、 (そのモードにおいて再定義され、すでにあるものの上に置かれる) single- character キーの定義を持ちます。各バッファは、(ある時点において)どのローカル キーマップがインストールされているかを記録します。 "(キーが入力された時)どのコ マンドを実行するか" を決めるのに、ローカルキーマップとグローバルキーマップの両 方が用いられます。
同じメジャーモードを用いる(各)バッファは(通常) 同じキーマップを用いるため、 キーマップはあたかも(その)モードにローカルであるかのように思われるかもしれませ んが、(訳注:実際は)そうではありません。 Lisp モード、C モード、及びその他のメ ジャーモードで用いられるローカルキーマップは、それが用いられない時も (常に)存 在しています。それらは lisp-mode-map, c-mode-map という変数の値になっていま す。あまり頻繁に用いられないメジャーモードでは、そのローカルキーマップは(しば しば)そのセッションでそのモードを最初に用いる時構成されるようになっています。 (後で)このモードを用いるバッファが作られると、それらは(全て) この同じキーマッ プを用います。標準のキーマップのリストは補足を参照して下さい。
ミニバッファに対してもローカルキーマップは存在します。それらは様々な completion や exit のコマンドを持っています。
Function: current-local-map
この関数は、(カレントバッファの)ローカルキーマップを返します。存在しない場 合、nil を返します。
(current-local-map) => (keymap (27 keymap (83 . center-paragraph) (115 . center-line)) (9 . tab-to-tab-stop))
Function: current-global-map
(current-global-map) => [set-mark-command beginning-of-line ... delete-backward-char]
Function: use-global-map keymap
この関数は、 keymap をカレントなグローバルキーマップにします。 keymap はフ ルキーマップ (長さ 128 のベクトル) でなくてはいけません。 nil を返します。
グローバルキーマップを変更することは、(非常に)異常なことです (少数の標準 モードがこれを行ないます)。
Function: use-local-map keymap
この関数は、 keymap を(新しく)カレントなローカルキーマップにします。 keymap が nil の場合、(訳注:カレントな) ローカルキーマップは存在しなくな ります。 nil を返します。ほとんどのメジャーモードはこの関数を用います。
Function: key-binding keys
この関数は、 (カレントなキーマップでの) keys の定義を返します。キーの各文 字に対し、まず(最初に)ローカルマップを見てローカルマップが定義を持たない場 合、(次に)グローバルマップを見ます。 (これらのキーマップにおいて) keys が 未定義の場合、nil を返します。
keys が(キーシーケンスを表わす)ストリングでない場合、エラーになります。
(key-binding "\C-x\C-f") => find-file
Function: local-key-binding keys
この関数は、カレントなローカルキーマップ(のみ)での、 keys に対する定義を返 します。
Function: global-key-binding keys
この関数は、カレントなグローバルキーマップ(のみ)での、コマンド keys に対す る定義を返します。
Function: where-is-internal command &optional keymap firstonly
この関数は、 keymap とグローバルキーマップで(今現在) command を起動する キーシーケンスのリストを返します。 keymap が与えられない場合、これはグロー バルキーマップ(のみ)でキーの検索を行ないます。
firstonly が non-nil の場合、 (可能な)キーシーケンス(の全て)を示すリストで はなく、見つかった最初のキーシーケンスを示すストリングを返します。この関数 は where-is (<未定義>[GNU Emacs User Manual]、ページ <未定義> 参照)で用い られます。
(where-is-internal 'forward-char) => ("^F")