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