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

その他(キーマップ)

Function: copy-keymap keymap

この関数は、 keymap のコピーを返します。 (バージョン 18.50 では) copy- keymap は、(keymap の要素であるキーマップもコピーするよう) リカーシブに行 ないます。

  (setq map (copy-keymap (current-local-map)))
  => (keymap
       (27 keymap)
         (83 . center-paragraph)
         (115 . center-line))
       (9 . tab-to-tab-stop))
  (eq map (current-local-map))
  => nil

Function: accessible-keymaps keymap

この関数は、 keymap からアクセス可能な(定義する!!) 全てのキーマップからな るリストを返します。 (keys . map) というフォームの要素からなる association リストを返します。( keymap から始めた時に) keys の文字(ストリング) をタイ プすると、 map に行くことになります。

(要素は) keys の短い順に並べられます。最初の要素は、常に ("" . keymap) に なります。以下に示した最初の例で返される alist は、("^[" として表示される) ESC をタイプするとスパースキーマップ (keymap (83 . center-paragraph) (115 . foo)) が得られることを示しています。

2 番目の例では、文字 C-x 4 をタイプすると (ctl-x-4-map である) [nil ...] で始まるフルキーマップを得ることになります。

  (accessible-keymaps (current-local-map))
  => ("" keymap
        (27 keymap)
            (83 . center-paragraph)
            (115 . center-line))
        (9 . tab-to-tab-stop))
     ("^[" keymap (83 . center-paragraph) (115 . foo)))
  (accessible-keymaps (current-global-map))
  => (("" . [set-mark-command beginning-of-line ... delete-backward-char])
      ("^C" keymap (13 . x-flush-mouse-queue))
      ("^H" keymap (118 . describe-variable) ... (8 . help-for-help))
      ("^X" . [x-flush-mouse-queue ... backward-kill-sentence])
      ("^[" . [mark-sexp backward-sexp ... backward-kill-word])
      ("^X4" . [nil ... find-file-other-window nil ... nil nil])

Function: suppress-keymaps keymap &optional nodigits

この関数は、 (通常は self-inserting コマンドである)ほとんどのコマンドを上 書きし、それらを undefined (訳注:未定義) にするよう、フル keymap の内容を 変更します。これはまた nodigits が nil である場合、digit が数値の arg を設 定するようにします。

nil を返します。

この関数は、 keymap を変更してしまうため、新しいキーマップかキーマップのコ ピーを用い、修正したマップをローカルに用いるようにしたほうがよいでしょう。 (例えば) global-map をサプレスしてしまうと、(ほとんど) Emacs を使うことは できなくなってしまいます。

この関数は、yank や quote-insert といったコマンドはサプレスしないため、 バッファの修正を不可能にはしません。しかし、それを難かしくはします。バッ ファは、この関数を用いなくともバッファのフラグをセットすることで "リードオ ンリー(訳注:read-only)" にされます。

以下の例において、self-insert-command の最初の行は 0 から 9 までの数字を示

します。 2 番目の行は、その他(全ての) printing 文字を示します。サプレスさ れた後のマップは、数字に対する関数が(全て) digit-argument で置き換えられ、 その他の printing 文字に対する関数が(全て) undefined で置き換えられている ことを示します。

(もっと良い例が必要!!)

  (setq map (copy-keymap (current-global-map)))
  => [set-mark-command ...
      self-insert-command ... self-insert-command
      self-insert-command ... self-insert-command ...
      delete-backward-char]
  (suppress-keymap map)
  => nil
  map
  => [set-mark-command ...
      digit-argument ... digit-argument
      undefined ... undefined ...
      delete-backward-char]

Command: descrobe-bindings

(xref where-is-internal!!)(短かく!!) この関数は、定義されているキー(の全 て)とその定義とのリストを作ります。このリストを `*Help*' という名前のバッ ファに入れ、ポップアップウィンドウに表示します。

メタキーを用いるコマンドは、残りのキーシーケンスを ESC の後に続けることで 示します。 control キーを用いるコマンドは、残りのキーシーケンスを C- の後 に続けることで示します。

同じ定義を共有する複数の(訳注:連続した)キーは、その最初の文字の後に .. を続け(その後に)その最後の文字を続けることで示します。この場合、その ASCII コードを知ることが助けになります。以下に示した例(訳注:??) は、SPC .. ~ は (全て) self-insert-command に属すことを示しています。 SPC は ASCII 32 で ~ は ASCII 126 で、通常の printing 文字 (i.e., 英文字、数字、区切り文字、等)

は(全て)、この 2つのものの間に入ります。


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