キーマップ


*full-keymap-length*

type: Variable
package: editor
file: keymap.l
make-keymap で作られるキーマップの長さです。

seealso: make-keymap
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

*global-keymap*

type: Variable
package: editor
グローバルなキーマップです。モード毎のキーマップに何も割り当てられてい
ない場合に使われます。

global-set-key はこのキーマップにバインディングをセットします。

seealso: global-set-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

*kbd-translate-table*

type: Variable
package: editor
file: keyboard.l
多分、入力された物理的なキーを論理的なキーに変換するためのものです。
この論理的なキーは、F13〜F24などのように存在しないキーに振り向けることが
出来ます。例えば、キートップのラベルに別の文字のラベルを貼り付けるような
ものだと思います。

  ・物理的なキーから論理的なキーへの変換
  ・ローカルキーマップに論理的なキーの設定があればコマンド実行
  ・グローバルキーマップに論理的なキーの設定があればコマンド実行

使用例:
  ;;; C-[ と ESC を別物にする
  (setf (svref *kbd-translate-table* (char-code #\C-[)) #\F15)
  (global-set-key #\F15 'xxxx)

  ;;; BSとCtrl-hを別物にする
  (setf (svref *kbd-translate-table* (char-code #\C-h)) #\F13)
  (global-set-key #\F13 'replace-dialog)

seealso: キー表現使用可能文字
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

BS と C-h に別々の機能を割り当てるには?

type: Tips
| (global-set-key #\C-h 'replace-dialog) という設定を行うと、
| BS Key を押下した場合も、ダイアログが出てきます。

伝統的な仕様ですが、

  (setf (svref *kbd-translate-table* (char-code #\C-h)) #\F13)
  (global-set-key #\F13 'replace-dialog)

このようにすれば逃げられなくもないです。

seealso: global-set-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

command-keys

type: Function
arguments: command-keys COMMAND GLOBAL-KEYMAP LOCAL-KEYMAP &optional MINOR-MODE-KEYMAPS
package: editor
file: builtin.l
指定した関数にバインドされたキーのリストを返します。
MINOR-MODE-KEYMAPS LOCAL-KEYMAP GLOBAL-KEYMAPの順に優先されます。

使用例:
  (command-keys 'undo *global-keymap* (local-keymap) (minor-mode-map))
  => (#\C-\\ #\End)

seealso: lookup-keymap
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

copy-keymap

type: Function
arguments: copy-keymap MAP
package: editor
file: keymap.l
キーマップのコピーを返します。

使用例:
  ;;; gresreg.lより
  ;;; query-replaceのキーマップをコピーして
  ;;; query-gresregのキーマップを作って、ちょっと修正する。
  (unless *query-gresreg-map*
    (setq *query-gresreg-map* (copy-keymap *query-replace-map*))
    (define-key *query-gresreg-map* #\C-g '(throw . quit)))

[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

ctl-x-4-map

type: Variable
package: editor
file: keymap.l
C-x 4 に続くキーシーケンスのバインディングを格納するキーマップです。

seealso: ctl-x-4-prefix
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

ctl-x-4-prefix

type: Function
arguments: ctl-x-4-prefix
package: editor
file: keymap.l
C-x 4 プレフィックスです。 [C-x 4]
デフォルトでは
  C-x 4 b      switch-to-buffer-other-window
  C-x 4 f      find-file-other-window
の二つが設定されています。

ctl-x-4-prefix の関数セルは普通のコマンドではなく ctl-x-4-map というキ
ーマップを保持しています。

seealso: ctl-x-4-map
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

ctl-x-6-map

type: Variable
package: editor
file: pframe.l
C-x 6 に続くキーシーケンスのバインディングを格納するキーマップです。

seealso: ctl-x-6-prefix
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

ctl-x-6-prefix

type: Function
arguments: ctl-x-6-prefix
package: editor
file: pframe.l
C-x 6 プレフィックスです。 [C-x 6]
デフォルトではフレーム関係のコマンドが登録されています。

ctl-x-6-prefix の関数セルは普通のコマンドではなく ctl-x-6-map というキ
ーマップを保持しています。

seealso: ctl-x-6-map
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

ctl-x-map

type: Variable
package: editor
file: keymap.l
C-x に続くキーシーケンスのバインディングを格納するキーマップです。

seealso: ctl-x-prefix
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

ctl-x-prefix

type: Function
arguments: ctl-x-prefix
package: editor
file: keymap.l
C-x プレフィックスです。 [C-x]

ctl-x-prefix の関数セルは普通のコマンドではなく ctl-x-map というキーマ
ップを保持しています。

参考:
  ;;; keymap.l
  (defvar ctl-x-map (make-keymap))
  (setf (symbol-function 'ctl-x-prefix) ctl-x-map)

seealso: ctl-x-map
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

define-key

type: Function
arguments: define-key KEYMAP KEY COMMAND
package: editor
file: builtin.l
キーマップのキーにコマンドを割り当てます。

  KEYMAP  : キーマップ
  KEY     : 登録するキー
  COMMAND : 実行するコマンド

使用例:
  ;;; Ctrl-X fのキー割り当てを変える
  (define-key ctl-x-map #\f 'my-find-file)
  => t 
  ;;; Esc-f のキー割り当てを変える
  (define-key esc-map #\f 'my-find-file)
  => t
  ;;; Ctrl-C aのキー割り当てを変える
  (define-key spec-map #\a 'my-find-file)
  => t

seealso: undefine-key
seealso: global-set-key
seealso: local-set-key
seealso: substitute-key-definition
seealso: make-keymap
seealso: キー表現使用可能文字
seealso: 各種言語キーマップ
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

describe-bindings

type: Function
arguments: describe-bindings
package: editor
file: keymap.l
カレントバッファのキー割り当て一覧を表示します。

[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

describe-key

type: Function
arguments: describe-key KEY
package: editor
file: help.l
指定したキーにバインドされた関数と docstring を表示します。

seealso: describe-key-briefly
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

describe-key-briefly

type: Function
arguments: describe-key-briefly KEY &optional ARG
package: editor
file: help.l
指定したキーにバインドされた関数を表示します。[C-x ?]

  KEY : 検索するキー
  ARG : 出力(表示)先をどこにするか
        nil     : ステータスバーに表示
        non-nil : バッファに「キー (関数名)」のフォーマットで文字列を出力

seealso: describe-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

esc-map

type: Variable
package: editor
file: keymap.l
ESC に続くキーシーケンスのバインディングを格納するキーマップです。

seealso: meta-prefix
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

get-ime-mode

type: Function
arguments: get-ime-mode
package: editor
file: builtin.l
IMEのON/OFF状態を返します。

戻り値は以下の通りです
  t   変換モード
  nil 直接入力モード

seealso: toggle-ime
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

global-set-key

type: Function
arguments: global-set-key KEY COMMAND
package: editor
file: keymap.l
グローバルなキーマップにキーを登録します。

使用例:
 (global-set-key #\C-r          'previous-page)
 (global-set-key #\S-Left       'selection-backward-char)
 (global-set-key #\S-C-Left     'selection-backward-word)

seealso: global-unset-key
seealso: define-key
seealso: local-set-key
seealso: undefined
seealso: *global-keymap*
seealso: キー表現使用可能文字
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

global-unset-key

type: Function
arguments: global-unset-key KEY
package: editor
file: keymap.l
グローバルなキーマップのキーの割り当てを解除します。

使用例:
  ;;; global-set-keyで割り当てたキーを解除してみる。
  (global-set-key #\C-r 'previous-page)
  => t
  (global-unset-key #\C-r)
  => t

seealso: global-set-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

key-to-string

type: Function
arguments: key-to-string KEY &optional ESC-TO-META
package: editor
file: help.l
キーを読みやすいように文字列に変換します。

  ESC-TO-META : non-nilならESCをM-に変換します

使用例:
  (key-to-string '(#\ESC #\C-a))    => "ESC C-a"
  (key-to-string '(#\ESC #\C-a) t)  => "M-C-a"

[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

local-keymap

type: Function
arguments: local-keymap &optional BUFFER
package: editor
file: builtin.l
バッファ BUFFER のローカルキーマップ (use-keymap で設定されたキーマッ
プ) を返します。

BUFFER が省略された場合はカレントバッファが対象になります。

seealso: use-kaymap
seealso: local-set-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

local-set-key

type: Function
arguments: local-set-key KEY COMMAND
package: editor
file: keymap.l
カレントバッファのローカルキーマップにキーを登録します。
引数の意味は global-set-key と同じです。

seealso: local-unset-key
seealso: local-keymap
seealso: global-set-key
seealso: define-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

local-unset-key

type: Function
arguments: local-unset-key KEY
package: editor
file: keymap.l
ローカルキーマップのキー割り当てを解除します。

使用例:
  ;;; lisp-modeのTABのローカルキーマップを外す。
  (lookup-key-command #\TAB)
  => lisp-indent-line
  (local-unset-key #\TAB)
  => t
  (lookup-key-command #\TAB)
  => self-insert-command

seealso: local-set-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

lookup-key-command

type: Function
arguments: lookup-key-command KEY
package: editor
file: help.l
指定したキーに設定された関数を返します。
lookup-keymapを使って実装されています。

seealso: lookup-keymap
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

lookup-keymap

type: Function
arguments: lookup-keymap KEYMAP KEY &optional IGNORE-CASE SYMBOL-ONLY
package: editor
file: builtin.l
指定したキーマップの中で指定したキーにバインドされた関数を返します。

seealso: command-keys
seealso: lookup-key-command
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

make-keymap

type: Function
arguments: make-keymap
package: editor
file: builtin.l
空のキーマップを作成します。

seealso: make-sparse-keymap
seealso: keymapp
seealso: use-keymap
seealso: define-key
seealso: lookup-keymap
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

make-sparse-keymap

type: Function
arguments: make-sparse-keymap
package: editor
file: builtin.l
空のキーマップを作成します。
キー定義の数が少ない時に使うとメモリを節約できます。

使用例:
  ;;; lispmode.lより
  (unless *lisp-mode-map*
    (setq *lisp-mode-map* (make-sparse-keymap))
    (define-key *lisp-mode-map* #\C-M-x 'eval-defun)
    ...
    (define-key *lisp-mode-map* #\) 'lisp-electric-close))

seealso: make-keymap
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

meta-prefix

type: Function
arguments: meta-prefix
package: editor
file: keymap.l
ESC プレフィックスです。 [ESC]

meta-prefix の関数セルは普通のコマンドではなく esc-map というキーマッ
プを保持しています。

seealso: esc-map
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

set-extended-key-translate-table

type: Function
arguments: set-extended-key-translate-table KEY C
package: editor
file: keyboard.l
通常は同時押しができないキーを別のキーに振り向けるテーブルです。

| c-modeでシフトを押しながらTABを押した時に
| インデントしてもらおうと思ったんですが、
| #\TABを#\S-TABにしたらSHIFTは使えませんとのことで。

残念ながらまともな手段では Shift+Tab は使えません。が、まともでない手
段が用意されています。

  (set-extended-key-translate-table exkey-S-tab #\F20)

このようにしておくと、Shift+Tab が押されたときに F20 が押されたふりをするので

  (global-set-key #\F20 'foo)

とすればお望み通り(^^

exkey-... に指定できるのは以下の通り。

  exkey-space
  exkey-S-space
  exkey-C-space
  exkey-S-C-space
  exkey-M-space
  exkey-S-M-space
  exkey-C-M-space
  exkey-S-C-M-space
                   
  exkey-backspace
  exkey-S-backspace
  exkey-C-backspace
  exkey-S-C-backspace
  exkey-M-backspace
  exkey-S-M-backspace
  exkey-C-M-backspace
  exkey-S-C-M-backspace
  
  exkey-tab
  exkey-S-tab
  exkey-C-tab
  exkey-S-C-tab
  
  exkey-return
  exkey-S-return
  exkey-C-return
  exkey-S-C-return
  exkey-M-return
  exkey-S-M-return
  exkey-C-M-return
  exkey-S-C-M-return
  
  exkey-escape
  exkey-S-escape

  exkey-zenkaku
  exkey-S-zenkaku
  exkey-C-zenkaku
  exkey-S-C-zenkaku
  exkey-S-M-zenkaku

[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

set-function-bar-label

type: Function
arguments: set-function-bar-label CHAR LABEL
package: editor
file: builtin.l
ファンクションバーのラベルを変更します。

  CHAR  : 各ファンクファンクションバーに対応したキャラクタ
  LABEL : 表示するラベル

使用例
  (global-set-key #\F3 'search-forward-again)
  => t
  (set-function-bar-label #\F3 "次検索")
  => t

seealso: set-number-of-function-bar-labels
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

spec-map

type: Variable
package: editor
file: keymap.l
C-c に続くキーシーケンスのバインディングを格納するキーマップです。

seealso: specific-command-prefix
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

specific-command-prefix

type: Function
arguments: specific-command-prefix
package: editor
file: keymap.l
C-c プレフィックスです。 [C-c]

specific-command-prefix の関数セルは普通のコマンドではなく spec-map と
いうキーマップを保持しています。

seealso: spec-map
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

substitute-key-definition

type: Function
arguments: substitute-key-definition OLDDEF NEWDEF &optional (KEYMAP *global-keymap*) (OKEYMAP KEYMAP)
package: editor
file: keymap.l
OKEYMAP において OLDDEF が割り当てられているすべてのキーに対して、
KEYMAP において NEWDEF を割り当てます。

例:
  ;;; text-mode での行の移動を物理行単位にする
  (substitute-key-definition 'next-virtual-line 'next-line
                             *text-mode-map* *global-keymap*)
  (substitute-key-definition 'previous-virtual-line 'previous-line
                             *text-mode-map* *global-keymap*)

seealso: define-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

toggle-ime

type: Function
arguments: toggle-ime &optional ON-OR-OFF
package: editor
file: builtin.l
IMEのON/OFFを制御します。
  non-nil  IMEをONにする
  nil      IMEをOFFにする
  省略時   IMEをトグルする

seealso: *ime-mode-hook*
seealso: get-ime-mode
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

undefine-key

type: Function
arguments: undefine-key KEYMAP KEY
package: editor
file: keymap.l
キーマップのキーの割り当てを解除します。

  KEYMAP : キーマップ
  KEY    : 削除するキー

使用例:
  ;;; C-lをfiler-reloadに割り当てて、解除してみる
  (define-key filer-keymap #\C-l 'filer-reload)
  => t
  (undefine-key filer-keymap #\C-l)
  => t

seealso: define-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

use-keymap

type: Function
arguments: use-keymap KEYMAP &optional BUFFER
package: editor
file: builtin.l
バッファが使用するキーマップを設定します。

  KEYMAP : 使用するキーマップを指定します。
  BUFFER : バッファを指定します。省略時はカレントバッファに適用されます。

使用例:
  ;;; lispmode.lより
  (defun lisp-mode ()
    (interactive)
    (kill-all-local-variables)
    (setq buffer-mode 'lisp-mode)
    (setq mode-name "Lisp")
    (use-keymap *lisp-mode-map*)
    ...
    (run-hooks '*lisp-mode-hook*))

seealso: make-keymap
seealso: define-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

キー表現使用可能文字

type: Tips
#\aや#\C-bのように文字として表現します。ただし、\"'(),;`| の9文字は、
lispの構文上の特別な意味があるので、それを抑制するために'\'を前置します。

  #\a           ; a
  #\;           ; ;
  #\C-b         ; Ctrl+b
  #\C-\;        ; Ctrl+;
  #\M-\;        ; Alt+;
  #\C-M-\;      ; Ctrl+Alt+;

Ctrl、Alt、Shiftの同時押しも表現できます。C-、M-、S-の順番は何でも良いです。

  #\C-          ; Ctrl同時押し
  #\S-          ; Shift同時押し
  #\C-S-        ; Ctrl+Shift同時押し
  #\M-          ; Alt同時押し
  #\M-C-        ; Alt+Ctrl同時押し
  #\M-S-        ; Alt+Shift同時押し
  #\M-C-S-      ; Alt+Ctrl+Shift同時押し


キーによっては同時押しできるキーに制限があります。
例えばS-TABは普通のやり方ではできません。どうしてもやりたければ、
set-extended-key-translate-table を参照して下さい。

  ┌─────────────┬─────────────┐
  │キー                      │同時押しできるキー        │
  │                          ├─┬─┬─┬─┬─┬─┬─┤
  │                          │M │C │M │S │C │M │M │
  │                          │  │  │C │  │S │S │C │
  │                          │  │  │  │  │  │  │S │
  ├─────────────┼─┼─┼─┼─┼─┼─┼─┤
  │ !"#$%&'()*+,-./          │○│○│○│X│X│X│X│
  │0123456789:;<=>?          │  │  │  │  │  │  │  │
  │@ABCDEFGHIJKLMNO          │  │  │  │  │  │  │  │
  │PQRSTUVWXYZ[\]^_          │  │  │  │  │  │  │  │
  │`abcdefghijklmno          │  │  │  │  │  │  │  │
  │pqrstuvwxyz{|}~           │  │  │  │  │  │  │  │
  ├─────────────┼─┼─┼─┼─┼─┼─┼─┤
  │SPC       スペースキー    │○│○│X│X│X│X│X│
  ├─────────────┼─┼─┼─┼─┼─┼─┼─┤
  │TAB       Tabキー         │○│X│X│X│X│X│X│
  │LFD                       │  │  │  │  │  │  │  │
  │RET       Enterキー       │  │  │  │  │  │  │  │
  │ESC       Escキー         │  │  │  │  │  │  │  │
  │DEL                       │  │  │  │  │  │  │  │
  │NUL                       │  │  │  │  │  │  │  │
  ├─────────────┼─┼─┼─┼─┼─┼─┼─┤
  │PageUp    Page Upキー     │○│○│○│○│○│○│○│
  │PageDown  Page Downキー   │  │  │  │  │  │  │  │
  │End       Endキー         │  │  │  │  │  │  │  │
  │Home      Homeキー        │  │  │  │  │  │  │  │
  │Left      ←キー          │  │  │  │  │  │  │  │
  │Up        ↑キー          │  │  │  │  │  │  │  │
  │Right     →キー          │  │  │  │  │  │  │  │
  │Down      ↓キー          │  │  │  │  │  │  │  │
  │Pause     Pauseキー       │  │  │  │  │  │  │  │
  │Scroll    ScrollLockキー  │  │  │  │  │  │  │  │
  │Apps      Applicationキー │  │  │  │  │  │  │  │
  │Insert    Insertキー      │  │  │  │  │  │  │  │
  │Delete    Deleteキー      │  │  │  │  │  │  │  │
  │Help      どのキー?       │  │  │  │  │  │  │  │
  │F1〜F24   F1〜F24キー     │  │  │  │  │  │  │  │
  │LBtnDown  左ボタン押し    │  │  │  │  │  │  │  │
  │LBtnUp    左ボタン離し    │  │  │  │  │  │  │  │
  │LBtnMove  左ボタンドラッグ│  │  │  │  │  │  │  │
  │RBtnDown  右ボタン押し    │  │  │  │  │  │  │  │
  │RBtnUp    右ボタン離し    │  │  │  │  │  │  │  │
  │RBtnMove  右ボタンドラッグ│  │  │  │  │  │  │  │
  │MBtnDown  中ボタン押し    │  │  │  │  │  │  │  │
  │MBtnUp    中ボタン離し    │  │  │  │  │  │  │  │
  │MBtnMove  中ボタンドラッグ│  │  │  │  │  │  │  │
  │XBtn1Down                 │  │  │  │  │  │  │  │
  │XBtn1Up                   │  │  │  │  │  │  │  │
  │XBtn1Move                 │  │  │  │  │  │  │  │
  │XBtn2Down                 │  │  │  │  │  │  │  │
  │XBtn2Up                   │  │  │  │  │  │  │  │
  │XBtn2Move                 │  │  │  │  │  │  │  │
  │MouseMove                 │  │  │  │  │  │  │  │
  └─────────────┴─┴─┴─┴─┴─┴─┴─┘

例えば、#\RETと#\C-mは内部的には同じ文字と見なされます。このような文字は以下
のとおりです。

  (eq #\TAB #\C-i) => t
  (eq #\LFD #\C-j) => t
  (eq #\RET #\C-m) => t
  (eq #\ESC #\C-[) => t
  (eq #\DEL #\C-?) => t
  (eq #\NUL #\C-@) => t

xyzzy 0.2.2.236 からCommon Lispと同様の文字も利用可能です。
このような文字は以下のとおりです。

  (eq #\Backspace #\C-h) => t
  (eq #\Tab       #\TAB) => t
  (eq #\Newline   #\LFD) => t
  (eq #\Linefeed  #\LFD) => t
  (eq #\Page      #\C-l) => t
  (eq #\Return    #\RET) => t
  (eq #\Space     #\SPC) => t
  (eq #\Rubout    #\DEL) => t

seealso: global-set-key
seealso: define-key
seealso: *kbd-translate-table*
Link: http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/sec_13-1-7.html
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]

各種言語キーマップ

type: Tips
プログラム言語毎(というか、モード毎)にキーマップを変更することができます。

  ;;; 言語用キーマップ一覧
  *basic-mode-map*              ; BASIC用
  *csharp-mode-map*             ; C#用
  *c-mode-map*                  ; C言語用
  *c++-mode-map*                ; C++用
  *css-mode-map*                ; CSS用
  *html-mode-map*               ; HTML用
  *idl-mode-map*                ; IDL用
  *java-mode-map*               ; java用
  *LaTeX-mode-map*              ; LaTeX用
  *lisp-mode-map*               ; lisp用
  *pascal-mode-map*             ; PASCAL用
  *perl-mode-map*               ; Perl用
  *sql-mode-map*                ; SQL用

  ;;; その他キーマップ一覧
  *box-drawings-mode-map*       ; 罫線描画モード用
  *buffer-menu-mode-map*        ; buffer-menu用
  *calc-mode-map*               ; calc用
  *calendar-mode-map*           ; calendar用
  *den8-view-mode-map*          ; 電信八号のメール表示用
  *den8-summary-mode-map*       ; 電信八号のメール一覧表示用
  *den8-draft-mode-map*         ; 電信八号の下書き用
  *diff-mode-map*               ; diff用
  *async-grep-mode-map*         ; 非同期grep用
  *lisp-interaction-mode-map*   ; *scratch*というかlisp-interaction-mode用
  *fundamental-mode-map*        ; モードが無いとき用
  *log-summary-mode-map*        ; niftyのログ一覧用
  *log-article-mode-map*        ; niftyのログ用
  *command-output-mode-map*     ; 外部コマンド実行時用
  *shell-mode-map*              ; shellモード用
  *tail-f-mode-map*             ; tail-f用
  *text-mode-map*               ; テキスト用
  *view-mode-map*               ; テキスト表示用

使用例:
  ;;; c++-modeでのキー割り当てを変える
  (define-key ed::*c++-mode-map* #\C-s 'foo)

  ;;; lisp-modeでのキー割り当てを変える
  (define-key ed::*lisp-mode-map*  #\TAB 'lisp-complete-symbol)

  ;;; Lispインタラクションモードでのキー割り当てを変える
  (define-key ed::*lisp-interaction-mode-map* #\TAB 'lisp-complete-symbol)

seealso: define-key
[ Intro | 目次 | 索引 | 目的別 | キーマップ ]