todo-mode.el: Remove dependence on auto-mode-alist.
[bpt/emacs.git] / doc / lispref / maps.texi
CommitLineData
b8d4c8d0
GM
1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual.
ba318903 3@c Copyright (C) 1990-1993, 1999, 2001-2014 Free Software Foundation,
ab422c4d 4@c Inc.
b8d4c8d0 5@c See the file elisp.texi for copying conditions.
ecc6530d 6@node Standard Keymaps
b8d4c8d0 7@appendix Standard Keymaps
53a1239b 8@cindex keymaps, standard
b8d4c8d0 9
53a1239b
GM
10In this section we list some of the more general keymaps. Many of
11these exist when Emacs is first started, but some are loaded only when
12the respective feature is accessed.
b8d4c8d0 13
53a1239b
GM
14There are many other, more specialized, maps than these; in particular
15those associated with major and minor modes. The minibuffer uses
16several keymaps (@pxref{Completion Commands}). For more details on
17keymaps, @pxref{Keymaps}.
b8d4c8d0 18
53a1239b
GM
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}.
b8d4c8d0 22@table @code
53a1239b
GM
23@item 2C-mode-map
24A sparse keymap for subcommands of the prefix @kbd{C-x 6}.@*
25@xref{Two-Column,, Two-Column Editing, emacs, The GNU Emacs Manual}.
b8d4c8d0 26
53a1239b
GM
27@item abbrev-map
28@vindex abbrev-map
29A sparse keymap for subcommands of the prefix @kbd{C-x a}.@*
30@xref{Defining Abbrevs,,, emacs, The GNU Emacs Manual}.
b8d4c8d0 31
53a1239b
GM
32@item button-buffer-map
33A sparse keymap useful for buffers containing buffers.@*
34You may want to use this as a parent keymap. @xref{Buttons}.
b8d4c8d0 35
53a1239b
GM
36@item button-map
37A sparse keymap used by buttons.
b8d4c8d0
GM
38
39@item ctl-x-4-map
40A sparse keymap for subcommands of the prefix @kbd{C-x 4}.
41
42@item ctl-x-5-map
43A sparse keymap for subcommands of the prefix @kbd{C-x 5}.
44
45@item ctl-x-map
46A full keymap for @kbd{C-x} commands.
47
53a1239b
GM
48@item ctl-x-r-map
49@vindex ctl-x-r-map
50A sparse keymap for subcommands of the prefix @kbd{C-x r}.@*
51@xref{Registers,,, emacs, The GNU Emacs Manual}.
b8d4c8d0
GM
52
53@item esc-map
54A full keymap for @kbd{ESC} (or @kbd{Meta}) commands.
55
53a1239b
GM
56@item facemenu-keymap
57A sparse keymap used for the @kbd{M-o} prefix key.
b8d4c8d0 58
53a1239b 59@item function-key-map
1df7defd 60The parent keymap of all @code{local-function-key-map} (q.v.@:) instances.
b8d4c8d0 61
53a1239b
GM
62@ignore
63@c Doesn't exist.
b8d4c8d0
GM
64@item fundamental-mode-map
65@vindex fundamental-mode-map
66The sparse keymap for Fundamental mode.@*
67It is empty and should not be changed.
53a1239b 68@end ignore
b8d4c8d0
GM
69
70@item global-map
71The full keymap containing default global key bindings.@*
72Modes should not modify the Global map.
73
53a1239b
GM
74@item goto-map
75A sparse keymap used for the @kbd{M-g} prefix key.
b8d4c8d0
GM
76
77@item help-map
53a1239b
GM
78A sparse keymap for the keys following the help character @kbd{C-h}.@*
79@xref{Help Functions}.
b8d4c8d0
GM
80
81@item Helper-help-map
b8d4c8d0 82A full keymap used by the help utility package.@*
53a1239b 83It has the same keymap in its value cell and in its function cell.
b8d4c8d0 84
4f4a84ec
SM
85@item input-decode-map
86The keymap for translating keypad and function keys.@*
87If there are none, then it contains an empty sparse keymap.
88@xref{Translation Keymaps}.
89
b8d4c8d0
GM
90@item key-translation-map
91A keymap for translating keys. This one overrides ordinary key
da0bbbc4 92bindings, unlike @code{local-function-key-map}. @xref{Translation
ead3f58d 93Keymaps}.
b8d4c8d0 94
53a1239b
GM
95@item kmacro-keymap
96@vindex kmacro-keymap
97A sparse keymap for keys that follows the @kbd{C-x C-k} prefix search.@*
98@xref{Keyboard Macros,,, emacs, The GNU Emacs Manual}.
b8d4c8d0 99
53a1239b
GM
100@item local-function-key-map
101The keymap for translating key sequences to preferred alternatives.@*
102If there are none, then it contains an empty sparse keymap.
103@xref{Translation Keymaps}.
b8d4c8d0 104
aab705a2 105@item menu-bar-file-menu
53a1239b
GM
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
aab705a2 112@vindex menu-bar-file-menu
53a1239b
GM
113@vindex menu-bar-options-menu
114@vindex global-buffers-menu-map
b8d4c8d0 115@vindex menu-bar-tools-menu
53a1239b
GM
116@vindex menu-bar-help-menu
117These keymaps display the main, top-level menus in the menu bar.@*
118Some of them contain sub-menus. For example, the Edit menu contains
119@code{menu-bar-search-menu}, etc. @xref{Menu Bar}.
120@ignore
121TODO list all submenus?
1df7defd 122There are probably too many, and it would not be useful to do so, e.g.:
53a1239b
GM
123The 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}.
126There is also mule-menu-keymap, set-coding-system-map,
1df7defd 127setup-language-environment-map, describe-language-environment-map,
53a1239b
GM
128menu-bar-epatch-menu, menu-bar-ediff-merge-menu, menu-bar-ediff-menu, etc.
129@end ignore
130
131@item minibuffer-inactive-mode-map
132A full keymap used in the minibuffer when it is not active.@*
133@xref{Minibuffer Edit,, Editing in the Minibuffer, emacs, The GNU Emacs Manual}.
134
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
141These keymaps control various areas of the mode line.@*
142@xref{Mode Line Format}.
b8d4c8d0
GM
143
144@item mode-specific-map
145The keymap for characters following @kbd{C-c}. Note, this is in the
53a1239b
GM
146global map. This map is not actually mode-specific: its name was chosen
147to be informative in @kbd{C-h b} (@code{display-bindings}),
b8d4c8d0
GM
148where it describes the main use of the @kbd{C-c} prefix key.
149
53a1239b
GM
150@c FIXME - don't mention this one?
151@item mouse-appearance-menu-map
152@vindex mouse-appearance-menu-map
153A sparse keymap used for the @kbd{S-mouse-1} key.
154
155@item mule-keymap
156The global keymap used for the @kbd{C-x @key{RET}} prefix key.
cdf17e86 157
53a1239b
GM
158@item narrow-map
159@vindex narrow-map
160A sparse keymap for subcommands of the prefix @kbd{C-x n}.
161
162@item prog-mode-map
163The keymap used by Prog mode.@*
164@xref{Basic Major Modes}.
b8d4c8d0
GM
165
166@item query-replace-map
53a1239b 167@itemx multi-query-replace-map
b8d4c8d0
GM
168A sparse keymap used for responses in @code{query-replace} and related
169commands; also for @code{y-or-n-p} and @code{map-y-or-n-p}. The functions
170that use this map do not support prefix keys; they look up one event at a
53a1239b
GM
171time. @code{multi-query-replace-map} extends @code{query-replace-map}
172for multi-buffer replacements. @xref{Search and Replace, query-replace-map}.
b8d4c8d0 173
cdf17e86 174@item search-map
53a1239b 175A sparse keymap that provides global bindings for search-related commands.
cdf17e86 176
53a1239b
GM
177@item special-mode-map
178The keymap used by Special mode.@*
179@xref{Basic Major Modes}.
b8d4c8d0
GM
180
181@item tool-bar-map
53a1239b
GM
182The keymap defining the contents of the tool bar.@*
183@xref{Tool Bar}.
184
185@item universal-argument-map
186@vindex universal-argument-map
187A sparse keymap used while processing @kbd{C-u}.@*
188@xref{Prefix Command Arguments}.
189
190@item vc-prefix-map
191The global keymap used for the @kbd{C-x v} prefix key.
192
193@item x-alternatives-map
194@vindex x-alternatives-map
195@findex x-setup-function-keys
196A sparse keymap used to map certain keys under graphical frames.@*
197The function @code{x-setup-function-keys} uses this.
b8d4c8d0 198
b8d4c8d0 199@end table