]> git.lyx.org Git - lyx.git/blob - lib/bind/xemacs.bind
A slightly buggy lfun all-insets-toggle.
[lyx.git] / lib / bind / xemacs.bind
1 # -*- text -*-
2
3 # file xemacs.bind
4 # This file is part of LyX, the document processor.
5 # Licence details can be found in the file COPYING.
6
7 # author Lars Gullik Bjønnes
8 # author Jean-Marc Lasgouttes
9 # author Angus Leeming
10 # author John Levon
11 # author Allan Rae
12 # author Dekel Tsur
13 # author Jürgen Vigna
14 # author Andrew Zabolotny
15
16 # Full author contact details are available in file CREDITS.
17
18 # This is the XEMACS flavour bind file, based on the bindings found
19 # in the XEmacs editor. It has many bindings identical to the
20 # Emacs binding file although there are a few significant changes.
21 #
22 #
23 # DO NOT CHANGE THIS DEFAULT BINDING FILE! It will be replaced
24 # with every new install of LyX and your changes will be lost.
25 # Instead, customize a copy of this file placed in
26 # ~/.lyx/bind/xemacs.bind
27 #
28 # Happy tuning!
29
30 \bind "C-~S-at"                 "mark-on"
31 \bind "C-a"                     "line-begin"
32 \bind "C-b"                     "char-backward"
33 #bind "C-c"                     "------" # see end of file
34 \bind "C-d"                     "delete-forward"
35 \bind "C-e"                     "line-end"
36 \bind "C-f"                     "char-forward"
37 \bind "C-g"                     "cancel"
38
39 # help in emacs
40 \bind "C-h"                    "hyphenation-point-insert"
41 \bind "C-i"                    "hfill-insert"
42 #bind "C-j"                    "------"
43 \bind "C-k"                    "line-delete-forward"
44 \bind "C-l"                    "screen-recenter"
45 \bind "C-m"                    "mark-toggle"
46 \bind "C-n"                    "down"
47 \bind "C-o"                    "next-inset-toggle"
48 \bind "C-p"                    "up"
49
50 # this is "quoted-insert" a total different meaning from "quote-insert"
51 \bind "C-q"                    "self-insert \""
52 #bind "C-r"                    "------"
53 \bind "C-s"                    "dialog-show findreplace"
54 \bind "M-~S-percent"            "dialog-show findreplace"
55
56 # should be "chars-transpose" (swaps two chars)
57 #bind "C-t"                    "------"
58
59 # universal argument in emacs
60 \bind "C-u"                    "font-underline"
61
62 # better name would be "scroll-up" as in emacs
63 \bind "C-v"                    "screen-down"
64 \bind "M-v"                    "screen-up"
65
66 \bind "C-w"                    "cut"
67 #bind "C-x"                    "------"
68 \bind "C-y"                    "paste"
69
70 #should be "lyx-iconify"
71 #bind "C-z"                    "------"   # see end of file
72
73 \bind "C-~S-slash"             "undo"
74 \bind "C-~S-underscore"        "undo"
75
76 \bind "~S-C-quotedbl"           "quote-insert single"
77 \bind "~S-M-quotedbl"           "self-insert \""
78
79 \bind "C-x a"                  "buffer-auto-save"
80 # not currently supported
81 #\bind "C-x b"                 "buffer-previous"
82 \bind "C-x d"                  "buffer-new"
83 \bind "C-x g"                  "buffer-view ps"
84 \bind "C-x k"                  "buffer-close"
85 \bind "C-x p"                  "buffer-view dvi"
86 \bind "C-x r"                  "buffer-update dvi"
87 # Should have been "buffer-write-some"
88 # \bind "C-x s"                  "buffer-write"
89 \bind "C-x t"                  "buffer-update dvi"
90 \bind "C-x u"                  "undo"
91 \bind "C-x v h"                "dialog-show vclog"
92 \bind "C-x v v"                "vc-check-in"
93 \bind "C-x v u"                "vc-revert"
94 \bind "C-x v c"                "vc-undo-last"
95 \bind "C-x v i"                "vc-register"
96 #\bind "C-x w"                  "buffer-write-as"
97 \bind "C-x bracketleft"        "screen-up"
98 \bind "C-x bracketright"       "screen-down"
99 \bind "C-x quoteleft"           "error-next"
100 \bind "C-x C-a"                "buffer-auto-save"
101 \bind "C-x C-b"                "menu-open documents"    # list all buffers
102 \bind "C-x C-c"                "lyx-quit"
103 \bind "C-x C-d"                "buffer-new"
104 \bind "C-x C-f"                "file-open"
105 \bind "C-x C-g"                "buffer-view ps"
106 \bind "C-x C-l"                 "word-lowcase"          # downcase-region!
107 \bind "C-x C-p"                "buffer-view dvi"
108 \bind "C-x C-q"                "buffer-toggle-read-only"
109 #\bind "C-x C-r"                "buffer-update dvi"
110 \bind "C-x C-s"                "buffer-write"
111 \bind "C-x C-t"                "buffer-update dvi"
112 \bind "C-x C-u"                 "word-upcase"           # upcase-region!
113 \bind "C-x C-w"                "buffer-write-as"
114
115 #bind "C-1"                    "------"
116 #bind "C-2"                    "------"
117 #bind "C-3"                    "------"
118 #bind "C-4"                    "------"
119 #bind "C-5"                    "------"
120 #bind "C-6"                    "------"
121 #bind "C-7"                    "------"
122 #bind "C-8"                    "------"
123 #bind "C-9"                    "------"
124 #bind "C-0"                    "------"
125
126 #bind "F1"                     "help"                          # Not yet implemented!
127 #bind "C-F1"                   "help-context"                  # Not yet implemented!
128 #\bind "F2"                     "buffer-write"
129 #\bind "F3"                     "file-open"
130 #bind "F4"                     "------"
131 #bind "F5"                     "------"
132 #bind "F6"                     "------"
133 #bind "F7"                     "------"
134 #bind "F8"                     "------"
135 #bind "F9"                     "------"
136 #bind "F10"                    "------"
137
138 \bind "M-x"                     "command-execute"
139
140
141 #
142 # Motion group
143 #
144
145 \bind "C-Right"                "word-forward"
146 \bind "C-Left"                 "word-backward"
147 \bind "C-Up"                   "paragraph-up"
148 \bind "C-Down"                 "paragraph-down"
149 \bind "M-bracketleft"          "paragraph-up"
150 \bind "M-bracketright"         "paragraph-down"
151 \bind "Home"                   "line-begin"
152 \bind "End"                    "line-end"
153 \bind "C-Home"                 "buffer-begin"
154 \bind "C-End"                  "buffer-end"
155 \bind "M-~S-less"              "buffer-begin"
156 \bind "M-~S-greater"           "buffer-end"
157
158 \bind "Prior"                  "screen-up"
159 \bind "Next"                   "screen-down"
160
161 # A bit like autoindent in c-mode
162 \bind "Tab"                     "depth-increment"
163
164 \bind "C-~S-greater"            "reference-goto"
165 \bind "C-~S-less"               "bookmark-goto 0"
166 \bind "C-~S-1"                  "bookmark-goto 1"
167 \bind "C-~S-2"                  "bookmark-goto 2"
168 \bind "C-~S-3"                  "bookmark-goto 3"
169 \bind "C-M-~S-1"                "bookmark-save 1"
170 \bind "C-M-~S-2"                "bookmark-save 2"
171 \bind "C-M-~S-3"                "bookmark-save 3"
172
173 #
174 # Motion + select group
175 #
176
177 \bind "S-Right"                "forward-select"
178 \bind "S-Left"                 "backward-select"
179 \bind "S-C-F"                  "forward-select"
180 \bind "S-C-B"                  "backward-select"
181 \bind "S-Up"                   "up-select"
182 \bind "S-Down"                 "down-select"
183 \bind "S-C-Right"              "word-forward-select"
184 \bind "S-C-Left"               "word-backward-select"
185 \bind "S-C-Up"                 "paragraph-up-select"
186 \bind "S-C-Down"               "paragraph-down-select"
187 \bind "S-Home"                 "line-begin-select"
188 \bind "S-End"                  "line-end-select"
189 \bind "S-C-A"                  "line-begin-select"
190 \bind "S-C-E"                  "line-end-select"
191 \bind "S-Prior"                "screen-up-select"
192 \bind "S-Next"                 "screen-down-select"
193 \bind "S-C-Home"               "buffer-begin-select"
194 \bind "S-C-End"                "buffer-end-select"
195
196 #
197 # Edit group
198 #
199
200 \bind "M-Delete"                "word-delete-backward"
201 \bind "C-Delete"                "word-delete-forward"
202 \bind "M-d"                     "word-delete-forward"
203 \bind "C-BackSpace"             "word-delete-backward"
204 \bind "M-Return"                "break-paragraph-keep-layout"
205 \bind "C-Return"                "break-line"
206 \bind "C-S-L"                   "ligature-break-insert"
207 \bind "C-space"                 "space-insert protected"
208 \bind "C-M-space"               "space-insert normal"
209 \bind "S-C-space"               "space-insert thin"
210 \bind "C-period"                "end-of-sentence-period-insert"
211 \bind "M-period"                "dots-insert"
212 \bind "M-w"                     "copy"
213 \bind "Escape"                  "meta-prefix"
214
215 # Numeric keypad (if Shift+KP_XXX does not switch the NumLock state)
216 \bind "S-KP_Right"              "forward-select"
217 \bind "S-KP_Left"               "backward-select"
218 \bind "S-KP_Up"                 "up-select"
219 \bind "S-KP_Down"               "down-select"
220 \bind "S-C-KP_Right"            "word-forward-select"
221 \bind "S-C-KP_Left"             "word-backward-select"
222 \bind "S-C-KP_Up"               "paragraph-up-select"
223 \bind "S-C-KP_Down"             "paragraph-down-select"
224 \bind "S-KP_Home"               "line-begin-select"
225 \bind "S-KP_End"                "line-end-select"
226 \bind "S-KP_Prior"              "screen-up-select"
227 \bind "S-KP_Next"               "screen-down-select"
228 \bind "S-C-KP_Home"             "buffer-begin-select"
229 \bind "S-C-KP_End"              "buffer-end-select"
230 \bind "S-C-KP_Prior"            "buffer-begin-select"
231 \bind "S-C-KP_Next"             "buffer-end-select"
232 \bind "C-KP_Insert"             "copy"
233 \bind "S-KP_Insert"             "paste"
234 \bind "S-KP_Delete"             "cut"
235
236
237 ## Trying to incorporate the best of AucTeX and HM--HTML modes
238 ##
239 # "C-z" is used in HM--HTML-mode for paragraph styles so try to support
240 #  similar here especially for LinuxDoc (although LinuxDoc isn't only for
241 #  making HTML).
242 ##
243 \bind "C-c C-l"                 "dialog-show latexlog"        # show warning log
244 \bind "C-c C-o"                 "error-next"
245 \bind "C-c C-v"                 "buffer-chktex"         # validate
246
247 \bind "C-z space"               "drop-layouts-choice"
248 \bind "C-z 1"                   "layout Title"
249 \bind "C-z 2"                   "layout Section"
250 \bind "C-z 3"                   "layout Subsection"
251 \bind "C-z 4"                   "layout Subsubsection"
252 \bind "C-z 5"                   "layout Paragraph"
253 \bind "C-z 6"                   "layout Subparagraph"
254 \bind "C-z a"                   "layout Author"         # address!!
255 \bind "C-z S-A"                 "layout Abstract"
256 \bind "C-z c"                   "layout LyX-Code"
257 \bind "C-z b"                   "font-bold"
258 \bind "C-z d"                   "layout Description"
259 \bind "C-z S-D"                 "layout Date"
260 \bind "C-z e"                   "font-emph"
261 \bind "C-z i"                   "layout Itemize"        # smart-insert-item!!
262 \bind "C-z o"                   "font-emph"             # italic!
263 \bind "C-z q"                   "layout Quote"
264 \bind "C-z s"                   "font-bold"             # strong!
265 \bind "C-c t"                   "font-sans"             # typewriter!
266 \bind "C-c v"                   "font-roman"            # variable!
267 \bind "C-z S-V"                 "layout Verbatim"
268
269 \bind "C-z l d"                 "layout Description"
270 \bind "C-z l t"                 "layout Description"
271 \bind "C-z l o"                 "layout Enumerate"      # numbered list
272 \bind "C-z l l"                 "layout Itemize"        # bulleted list
273 \bind "C-z l u"                 "layout Itemize"        # bulleted list
274 #
275 ## End HM--HTML Mode
276 ##
277 ## Start AucTeX
278 #
279 #\bind "C-u C-c C-f"            "layout-character"
280 \bind "C-c C-f C-b"             "font-bold"
281 \bind "C-c C-f C-c"             "font-noun"
282 \bind "C-c C-f C-e"             "font-emph"
283 \bind "C-c C-f C-i"             "font-emph" #italic
284 \bind "C-c C-f C-s"             "font-emph" #slanted
285
286 \bind "C-c C-f C-f"             "font-sans"
287 \bind "C-c C-f C-r"             "font-roman"
288 \bind "C-c C-f C-t"             "font-code"  #typewriter
289
290 \bind "C-c ~S-asciitilde"               "math-mode"
291
292 \bind "C-c quoteleft"           "error-next"
293
294 \bind "C-c C-s 0"               "layout Standard"
295 \bind "C-c C-s 1"               "layout Chapter"
296 \bind "C-c C-s 2"               "layout Section"
297 \bind "C-c C-s 3"               "layout Subsection"
298 \bind "C-c C-s 4"               "layout Subsubsection"
299 \bind "C-c C-s 5"               "layout Paragraph"
300 \bind "C-c C-s 6"               "layout Subparagraph"
301 \bind "C-c C-e a"               "layout Abstract"
302 \bind "C-c C-e d"               "layout Description"
303 \bind "C-c C-e e"               "layout Enumerate"
304 \bind "C-c C-e i"               "layout Itemize"
305 \bind "C-c C-e l"               "layout List"
306 \bind "C-c C-e m"               "math-display"  # should this be math-mode?
307 \bind "C-c C-e q"               "layout Quote"
308 \bind "C-c C-e S-q"             "layout Quotation"
309 \bind "C-c C-e v"               "layout Quote"
310
311 \bind "C-c C-e f"               "dialog-show-new-inset graphics"  ## should be figure-float
312 \bind "C-c C-e t"               "tabular-insert" ## should be table-float
313
314 \bind "C-c percent"             "layout Comment"
315
316 \bind "C-c Return"              "break-paragraph-keep-layout"
317 #
318 ## End AucTeX
319 #
320 ## Start TeX mode, some overlap with AucTeX mode
321 #
322 \bind "C-c C-b"                 "buffer-update dvi"
323 \bind "C-c C-p"                 "dialog-show print"
324 \bind "C-c C-r"                 "buffer-update dvi"     # tex region
325 #
326 ## End TeX mode
327 #
328
329 ################################
330 # Include menu and math bindings
331
332 \bind_file menus.bind
333 \bind_file math.bind
334 \bind_file latinkeys.bind
335 \bind_file cyrkeys.bind
336 \bind_file greekkeys.bind