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