Go to the first, previous, next, last section, table of contents.

ローカルキーマップとグローバルキーマップ

グローバルキーマップは、 (カレントなバッファによらない) 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")


Go to the first, previous, next, last section, table of contents.