2 @c This is part of the GNU Emacs Lisp Reference Manual.
3 @c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
4 @c See the file elisp.texi for copying conditions.
6 @appendix Standard Keymaps
7 @cindex keymaps, standard
9 In this section we list some of the more general keymaps. Many of
10 these exist when Emacs is first started, but some are loaded only when
11 the respective feature is accessed.
13 There are many other, more specialized, maps than these; in particular
14 those associated with major and minor modes. The minibuffer uses
15 several keymaps (@pxref{Completion Commands}). For more details on
16 keymaps, @pxref{Keymaps}.
18 @c Don't list individual major mode keymaps here, only more general things.
19 @c Only add vindex for things not covered elsewhere in this manual.
20 @c Don't add xrefs to things covered in {Keymaps}.
23 A sparse keymap for subcommands of the prefix @kbd{C-x 6}.@*
24 @xref{Two-Column,, Two-Column Editing, emacs, The GNU Emacs Manual}.
28 A sparse keymap for subcommands of the prefix @kbd{C-x a}.@*
29 @xref{Defining Abbrevs,,, emacs, The GNU Emacs Manual}.
31 @item button-buffer-map
32 A sparse keymap useful for buffers containing buffers.@*
33 You may want to use this as a parent keymap. @xref{Buttons}.
36 A sparse keymap used by buttons.
39 A sparse keymap for subcommands of the prefix @kbd{C-x 4}.
42 A sparse keymap for subcommands of the prefix @kbd{C-x 5}.
45 A full keymap for @kbd{C-x} commands.
49 A sparse keymap for subcommands of the prefix @kbd{C-x r}.@*
50 @xref{Registers,,, emacs, The GNU Emacs Manual}.
53 A full keymap for @kbd{ESC} (or @kbd{Meta}) commands.
56 A sparse keymap used for the @kbd{M-o} prefix key.
58 @item function-key-map
59 The parent keymap of all @code{local-function-key-map} (q.v.@:) instances.
63 @item fundamental-mode-map
64 @vindex fundamental-mode-map
65 The sparse keymap for Fundamental mode.@*
66 It is empty and should not be changed.
70 The full keymap containing default global key bindings.@*
71 Modes should not modify the Global map.
74 A sparse keymap used for the @kbd{M-g} prefix key.
77 A sparse keymap for the keys following the help character @kbd{C-h}.@*
78 @xref{Help Functions}.
81 A full keymap used by the help utility package.@*
82 It has the same keymap in its value cell and in its function cell.
84 @item input-decode-map
85 The keymap for translating keypad and function keys.@*
86 If there are none, then it contains an empty sparse keymap.
87 @xref{Translation Keymaps}.
89 @item key-translation-map
90 A keymap for translating keys. This one overrides ordinary key
91 bindings, unlike @code{local-function-key-map}. @xref{Translation
96 A sparse keymap for keys that follows the @kbd{C-x C-k} prefix search.@*
97 @xref{Keyboard Macros,,, emacs, The GNU Emacs Manual}.
99 @item local-function-key-map
100 The keymap for translating key sequences to preferred alternatives.@*
101 If there are none, then it contains an empty sparse keymap.
102 @xref{Translation Keymaps}.
104 @item menu-bar-file-menu
105 @itemx menu-bar-edit-menu
106 @itemx menu-bar-options-menu
107 @itemx global-buffers-menu-map
108 @itemx menu-bar-tools-menu
109 @itemx menu-bar-help-menu
110 @cindex menu bar keymaps
111 @vindex menu-bar-file-menu
112 @vindex menu-bar-options-menu
113 @vindex global-buffers-menu-map
114 @vindex menu-bar-tools-menu
115 @vindex menu-bar-help-menu
116 These keymaps display the main, top-level menus in the menu bar.@*
117 Some of them contain sub-menus. For example, the Edit menu contains
118 @code{menu-bar-search-menu}, etc. @xref{Menu Bar}.
120 TODO list all submenus?
121 There are probably too many, and it would not be useful to do so, e.g.:
122 The Edit menu includes @code{yank-menu}, @code{menu-bar-search-menu},
123 @code{menu-bar-replace-menu}, @code{menu-bar-goto-menu},
124 @code{menu-bar-bookmark-map}, and @code{facemenu-menu}.
125 There is also mule-menu-keymap, set-coding-system-map,
126 setup-language-environment-map, describe-language-environment-map,
127 menu-bar-epatch-menu, menu-bar-ediff-merge-menu, menu-bar-ediff-menu, etc.
130 @item minibuffer-inactive-mode-map
131 A full keymap used in the minibuffer when it is not active.@*
132 @xref{Minibuffer Edit,, Editing in the Minibuffer, emacs, The GNU Emacs Manual}.
134 @item mode-line-coding-system-map
135 @itemx mode-line-input-method-map
136 @itemx mode-line-column-line-number-mode-map
137 @vindex mode-line-coding-system-map
138 @vindex mode-line-input-method-map
139 @vindex mode-line-column-line-number-mode-map
140 These keymaps control various areas of the mode line.@*
141 @xref{Mode Line Format}.
143 @item mode-specific-map
144 The keymap for characters following @kbd{C-c}. Note, this is in the
145 global map. This map is not actually mode-specific: its name was chosen
146 to be informative in @kbd{C-h b} (@code{display-bindings}),
147 where it describes the main use of the @kbd{C-c} prefix key.
149 @c FIXME - don't mention this one?
150 @item mouse-appearance-menu-map
151 @vindex mouse-appearance-menu-map
152 A sparse keymap used for the @kbd{S-mouse-1} key.
155 The global keymap used for the @kbd{C-x @key{RET}} prefix key.
159 A sparse keymap for subcommands of the prefix @kbd{C-x n}.
162 The keymap used by Prog mode.@*
163 @xref{Basic Major Modes}.
165 @item query-replace-map
166 @itemx multi-query-replace-map
167 A sparse keymap used for responses in @code{query-replace} and related
168 commands; also for @code{y-or-n-p} and @code{map-y-or-n-p}. The functions
169 that use this map do not support prefix keys; they look up one event at a
170 time. @code{multi-query-replace-map} extends @code{query-replace-map}
171 for multi-buffer replacements. @xref{Search and Replace, query-replace-map}.
174 A sparse keymap that provides global bindings for search-related commands.
176 @item special-mode-map
177 The keymap used by Special mode.@*
178 @xref{Basic Major Modes}.
181 The keymap defining the contents of the tool bar.@*
184 @item universal-argument-map
185 @vindex universal-argument-map
186 A sparse keymap used while processing @kbd{C-u}.@*
187 @xref{Prefix Command Arguments}.
190 The global keymap used for the @kbd{C-x v} prefix key.
192 @item x-alternatives-map
193 @vindex x-alternatives-map
194 @findex x-setup-function-keys
195 A sparse keymap used to map certain keys under graphical frames.@*
196 The function @code{x-setup-function-keys} uses this.