/[cmucl]/src/hemlock/bindings.lisp
ViewVC logotype

Contents of /src/hemlock/bindings.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2.1.3 - (show annotations) (vendor branch)
Mon Dec 10 18:43:03 1990 UTC (23 years, 4 months ago) by ram
Changes since 1.2.1.2: +7 -4 lines
Merged systems-work sources as of 12/10/90.
1 ;;; -*- Log: hemlock.log; Package: Hemlock -*-
2 ;;;
3 ;;; **********************************************************************
4 ;;; This code was written as part of the Spice Lisp project at
5 ;;; Carnegie-Mellon University, and has been placed in the public domain.
6 ;;; Spice Lisp is currently incomplete and under active development.
7 ;;; If you want to use this code or any part of Spice Lisp, please contact
8 ;;; Scott Fahlman (FAHLMAN@CMUC).
9 ;;; **********************************************************************
10 ;;;
11 ;;; Some bindings:
12 ;;;
13
14 (in-package "HEMLOCK")
15
16
17
18 ;;;; Default key translations:
19
20 ;;; This page defines prefix characters that set specified modifier bits on
21 ;;; the next character typed.
22 ;;;
23 (setf (key-translation #k"escape") '(:bits :meta))
24 (setf (key-translation #k"control-z") '(:bits :control :meta))
25 (setf (key-translation #k"control-Z") '(:bits :control :meta))
26 (setf (key-translation #k"control-^") '(:bits :control))
27 (setf (key-translation #k"control-c") '(:bits :hyper))
28 (setf (key-translation #k"control-C") '(:bits :hyper))
29
30
31
32 ;;;; Most every binding.
33
34 ;;; Self insert letters:
35 ;;;
36 (do-alpha-key-events (key-event :both)
37 (bind-key "Self Insert" key-event))
38
39 (bind-key "Beginning of Line" #k"control-a")
40 (bind-key "Delete Next Character" #k"control-d")
41 (bind-key "End of Line" #k"control-e")
42 (bind-key "Forward Character" #k"control-f")
43 (bind-key "Forward Character" #k"rightarrow")
44 (bind-key "Backward Character" #k"control-b")
45 (bind-key "Backward Character" #k"leftarrow")
46 (bind-key "Kill Line" #k"control-k")
47 (bind-key "Refresh Screen" #k"control-l")
48 (bind-key "Next Line" #k"control-n")
49 (bind-key "Next Line" #k"downarrow")
50 (bind-key "Previous Line" #k"control-p")
51 (bind-key "Previous Line" #k"uparrow")
52 (bind-key "Query Replace" #k"meta-%")
53 (bind-key "Reverse Incremental Search" #k"control-r")
54 (bind-key "Incremental Search" #k"control-s")
55 (bind-key "Forward Search" #k"meta-s")
56 (bind-key "Reverse Search" #k"meta-r")
57 (bind-key "Transpose Characters" #k"control-t")
58 (bind-key "Universal Argument" #k"control-u")
59 (bind-key "Scroll Window Down" #k"control-v")
60 (bind-key "Scroll Window Up" #k"meta-v")
61 (bind-key "Scroll Next Window Down" #k"control-meta-v")
62 (bind-key "Scroll Next Window Up" #k"control-meta-V")
63
64 (bind-key "Help" #k"home")
65 (bind-key "Help" #k"control-_")
66 (bind-key "Describe Key" #k"meta-?")
67
68
69 (bind-key "Here to Top of Window" #k"leftdown")
70 (bind-key "Do Nothing" #k"leftup")
71 (bind-key "Top Line to Here" #k"rightdown")
72 (bind-key "Do Nothing" #k"rightup")
73 (bind-key "Point to Here" #k"middledown")
74 (bind-key "Point to Here" #k"super-leftdown")
75 (bind-key "Generic Pointer Up" #k"middleup")
76 (bind-key "Generic Pointer Up" #k"super-leftup")
77 (bind-key "Do Nothing" #k"super-rightup")
78 (bind-key "Insert Kill Buffer" #k"super-rightdown")
79
80
81 (bind-key "Insert File" #k"control-x control-r")
82 (bind-key "Save File" #k"control-x control-s")
83 (bind-key "Visit File" #k"control-x control-v")
84 (bind-key "Write File" #k"control-x control-w")
85 (bind-key "Find File" #k"control-x control-f")
86 (bind-key "Backup File" #k"control-x meta-b")
87 (bind-key "Save All Files" #k"control-x control-m")
88 (bind-key "Save All Files" #k"control-x return")
89 (bind-key "Save All Files and Exit" #k"control-x meta-z")
90
91 (bind-key "List Buffers" #k"control-x control-b")
92 (bind-key "Buffer Not Modified" #k"meta-~")
93 (bind-key "Check Buffer Modified" #k"control-x ~")
94 (bind-key "Select Buffer" #k"control-x b")
95 (bind-key "Select Previous Buffer" #k"control-meta-l")
96 (bind-key "Circulate Buffers" #k"control-meta-L")
97 (bind-key "Create Buffer" #k"control-x meta-b")
98 (bind-key "Kill Buffer" #k"control-x k")
99 (bind-key "Select Random Typeout Buffer" #k"hyper-t")
100
101 (bind-key "Next Window" #k"control-x n")
102 (bind-key "Next Window" #k"control-x o")
103 (bind-key "Previous Window" #k"control-x p")
104 (bind-key "Split Window" #k"control-x 2")
105 (bind-key "New Window" #k"control-x control-n")
106 (bind-key "Delete Window" #k"control-x d")
107 (bind-key "Delete Next Window" #k"control-x 1")
108 (bind-key "Line to Top of Window" #k"meta-!")
109 (bind-key "Line to Center of Window" #k"meta-#")
110 (bind-key "Top of Window" #k"meta-,")
111 (bind-key "Bottom of Window" #k"meta-.")
112
113 (bind-key "Exit Hemlock" #k"control-x control-z")
114 (bind-key "Exit Recursive Edit" #k"control-meta-z")
115 (bind-key "Abort Recursive Edit" #k"control-]")
116
117 (bind-key "Delete Previous Character" #k"delete")
118 (bind-key "Delete Previous Character" #k"backspace")
119 (bind-key "Kill Next Word" #k"meta-d")
120 (bind-key "Kill Previous Word" #k"meta-delete")
121 (bind-key "Kill Previous Word" #k"meta-backspace")
122 (bind-key "Exchange Point and Mark" #k"control-x control-x")
123 (bind-key "Mark Whole Buffer" #k"control-x h")
124 (bind-key "Set/Pop Mark" #k"control-@")
125 (bind-key "Set/Pop Mark" #k"control-space")
126 (bind-key "Pop and Goto Mark" #k"meta-space")
127 (bind-key "Pop and Goto Mark" #k"meta-@")
128 (bind-key "Pop Mark" #k"control-meta-space") ;#k"control-meta-@" = "Mark Form".
129 (bind-key "Kill Region" #k"control-w")
130 (bind-key "Save Region" #k"meta-w")
131 (bind-key "Un-Kill" #k"control-y")
132 (bind-key "Rotate Kill Ring" #k"meta-y")
133
134 (bind-key "Forward Word" #k"meta-f")
135 (bind-key "Backward Word" #k"meta-b")
136
137 (bind-key "Forward Paragraph" #k"meta-]")
138 (bind-key "Forward Sentence" #k"meta-e")
139 (bind-key "Backward Paragraph" #k"meta-[")
140 (bind-key "Backward Sentence" #k"meta-a")
141
142 (bind-key "Mark Paragraph" #k"meta-h")
143
144 (bind-key "Forward Kill Sentence" #k"meta-k")
145 (bind-key "Backward Kill Sentence" #k"control-x delete")
146 (bind-key "Backward Kill Sentence" #k"control-x backspace")
147
148 (bind-key "Beginning of Buffer" #k"meta-\<")
149 (bind-key "End of Buffer" #k"meta-\>")
150 (bind-key "Mark to Beginning of Buffer" #k"control-\<")
151 (bind-key "Mark to End of Buffer" #k"control-\>")
152
153 (bind-key "Extended Command" #k"meta-x")
154
155 (bind-key "Uppercase Word" #k"meta-u")
156 (bind-key "Lowercase Word" #k"meta-l")
157 (bind-key "Capitalize Word" #k"meta-c")
158
159 (bind-key "Previous Page" #k"control-x ["))
160 (bind-key "Next Page" #k"control-x ]"))
161 (bind-key "Mark Page" #k"control-x control-p")
162 (bind-key "Count Lines Page" #k"control-x l")
163
164
165
166 ;;;; Argument Digit and Negative Argument.
167
168 (bind-key "Negative Argument" #k"meta-\-")
169 (bind-key "Argument Digit" #k"meta-0")
170 (bind-key "Argument Digit" #k"meta-1")
171 (bind-key "Argument Digit" #k"meta-2")
172 (bind-key "Argument Digit" #k"meta-3")
173 (bind-key "Argument Digit" #k"meta-4")
174 (bind-key "Argument Digit" #k"meta-5")
175 (bind-key "Argument Digit" #k"meta-6")
176 (bind-key "Argument Digit" #k"meta-7")
177 (bind-key "Argument Digit" #k"meta-8")
178 (bind-key "Argument Digit" #k"meta-9")
179 (bind-key "Negative Argument" #k"control-\-")
180 (bind-key "Argument Digit" #k"control-0")
181 (bind-key "Argument Digit" #k"control-1")
182 (bind-key "Argument Digit" #k"control-2")
183 (bind-key "Argument Digit" #k"control-3")
184 (bind-key "Argument Digit" #k"control-4")
185 (bind-key "Argument Digit" #k"control-5")
186 (bind-key "Argument Digit" #k"control-6")
187 (bind-key "Argument Digit" #k"control-7")
188 (bind-key "Argument Digit" #k"control-8")
189 (bind-key "Argument Digit" #k"control-9")
190 (bind-key "Negative Argument" #k"control-meta-\-")
191 (bind-key "Argument Digit" #k"control-meta-0")
192 (bind-key "Argument Digit" #k"control-meta-1")
193 (bind-key "Argument Digit" #k"control-meta-2")
194 (bind-key "Argument Digit" #k"control-meta-3")
195 (bind-key "Argument Digit" #k"control-meta-4")
196 (bind-key "Argument Digit" #k"control-meta-5")
197 (bind-key "Argument Digit" #k"control-meta-6")
198 (bind-key "Argument Digit" #k"control-meta-7")
199 (bind-key "Argument Digit" #k"control-meta-8")
200 (bind-key "Argument Digit" #k"control-meta-9")
201
202
203 ;;;; Self Insert and Quoted Insert.
204
205 (bind-key "Quoted Insert" #k"control-q")
206
207 (bind-key "Self Insert" #k"space")
208 (bind-key "Self Insert" #k"!")
209 (bind-key "Self Insert" #k"@")
210 (bind-key "Self Insert" #k"#")
211 (bind-key "Self Insert" #k"$")
212 (bind-key "Self Insert" #k"%")
213 (bind-key "Self Insert" #k"^")
214 (bind-key "Self Insert" #k"&")
215 (bind-key "Self Insert" #k"*")
216 (bind-key "Self Insert" #k"(")
217 (bind-key "Self Insert" #k")")
218 (bind-key "Self Insert" #k"_")
219 (bind-key "Self Insert" #k"+")
220 (bind-key "Self Insert" #k"~")
221 (bind-key "Self Insert" #k"1")
222 (bind-key "Self Insert" #k"2")
223 (bind-key "Self Insert" #k"3")
224 (bind-key "Self Insert" #k"4")
225 (bind-key "Self Insert" #k"5")
226 (bind-key "Self Insert" #k"6")
227 (bind-key "Self Insert" #k"7")
228 (bind-key "Self Insert" #k"8")
229 (bind-key "Self Insert" #k"9")
230 (bind-key "Self Insert" #k"0")
231 (bind-key "Self Insert" #k"[")
232 (bind-key "Self Insert" #k"]")
233 (bind-key "Self Insert" #k"\\")
234 (bind-key "Self Insert" #k"|")
235 (bind-key "Self Insert" #k":")
236 (bind-key "Self Insert" #k";")
237 (bind-key "Self Insert" #k"\"")
238 (bind-key "Self Insert" #k"'")
239 (bind-key "Self Insert" #k"\-")
240 (bind-key "Self Insert" #k"=")
241 (bind-key "Self Insert" #k"`")
242 (bind-key "Self Insert" #k"\<")
243 (bind-key "Self Insert" #k"\>")
244 (bind-key "Self Insert" #k",")
245 (bind-key "Self Insert" #k".")
246 (bind-key "Self Insert" #k"?")
247 (bind-key "Self Insert" #k"/")
248 (bind-key "Self Insert" #k"{")
249 (bind-key "Self Insert" #k"}")
250
251
252
253 ;;;; Echo Area.
254
255 ;;; Basic echo-area commands.
256 ;;;
257 (bind-key "Help on Parse" #k"home" :mode "Echo Area")
258 (bind-key "Help on Parse" #k"control-_" :mode "Echo Area")
259
260 (bind-key "Complete Keyword" #k"escape" :mode "Echo Area")
261 (bind-key "Complete Field" #k"space" :mode "Echo Area")
262 (bind-key "Confirm Parse" #k"return" :mode "Echo Area")
263
264 ;;; Rebind some standard commands to behave better.
265 ;;;
266 (bind-key "Kill Parse" #k"control-u" :mode "Echo Area")
267 (bind-key "Insert Parse Default" #k"control-i" :mode "Echo Area")
268 (bind-key "Insert Parse Default" #k"tab" :mode "Echo Area")
269 (bind-key "Echo Area Delete Previous Character" #k"delete" :mode "Echo Area")
270 (bind-key "Echo Area Delete Previous Character" #k"backspace" :mode "Echo Area")
271 (bind-key "Echo Area Kill Previous Word" #k"meta-h" :mode "Echo Area")
272 (bind-key "Echo Area Kill Previous Word" #k"meta-delete" :mode "Echo Area")
273 (bind-key "Echo Area Kill Previous Word" #k"meta-backspace" :mode "Echo Area")
274 (bind-key "Echo Area Kill Previous Word" #k"control-w" :mode "Echo Area")
275 (bind-key "Beginning of Parse" #k"control-a" :mode "Echo Area")
276 (bind-key "Beginning of Parse" #k"meta-\<" :mode "Echo Area")
277 (bind-key "Echo Area Backward Character" #k"control-b" :mode "Echo Area")
278 (bind-key "Echo Area Backward Word" #k"meta-b" :mode "Echo Area")
279 (bind-key "Next Parse" #k"control-n" :mode "Echo Area")
280 (bind-key "Previous Parse" #k"control-p" :mode "Echo Area")
281
282 ;;; Remove some dangerous standard bindings.
283 ;;;
284 (bind-key "Illegal" #k"control-x" :mode "Echo Area")
285 (bind-key "Illegal" #k"control-meta-c" :mode "Echo Area")
286 (bind-key "Illegal" #k"control-meta-s" :mode "Echo Area")
287 (bind-key "Illegal" #k"control-meta-l" :mode "Echo Area")
288 (bind-key "Illegal" #k"meta-x" :mode "Echo Area")
289 (bind-key "Illegal" #k"control-s" :mode "Echo Area")
290 (bind-key "Illegal" #k"control-r" :mode "Echo Area")
291 (bind-key "Illegal" #k"hyper-t" :mode "Echo Area")
292 (bind-key "Illegal" #k"middledown" :mode "Echo Area")
293 (bind-key "Do Nothing" #k"middleup" :mode "Echo Area")
294 (bind-key "Illegal" #k"super-leftdown" :mode "Echo Area")
295 (bind-key "Do Nothing" #k"super-leftup" :mode "Echo Area")
296 (bind-key "Illegal" #k"super-rightdown" :mode "Echo Area")
297 (bind-key "Do Nothing" #k"super-rightup" :mode "Echo Area")
298
299
300
301 ;;;; Eval and Editor Modes.
302
303 (bind-key "Confirm Eval Input" #k"return" :mode "Eval")
304 (bind-key "Previous Interactive Input" #k"meta-p" :mode "Eval")
305 (bind-key "Search Previous Interactive Input" #k"meta-P" :mode "Eval")
306 (bind-key "Next Interactive Input" #k"meta-n" :mode "Eval")
307 (bind-key "Kill Interactive Input" #k"meta-i" :mode "Eval")
308 (bind-key "Abort Eval Input" #k"control-meta-i" :mode "Eval")
309 (bind-key "Interactive Beginning of Line" #k"control-a" :mode "Eval")
310 (bind-key "Reenter Interactive Input" #k"control-return" :mode "Eval")
311
312 (bind-key "Editor Evaluate Expression" #k"control-meta-escape")
313 (bind-key "Editor Evaluate Expression" #k"meta-escape" :mode "Editor")
314 (bind-key "Editor Evaluate Defun" #k"control-x control-e" :mode "Editor")
315 (bind-key "Editor Compile Defun" #k"control-x control-c" :mode "Editor")
316 (bind-key "Editor Compile Defun" #k"control-x control-C" :mode "Editor")
317 (bind-key "Editor Macroexpand Expression" #k"control-m" :mode "Editor")
318 (bind-key "Editor Describe Function Call" #k"control-meta-A" :mode "Editor")
319 (bind-key "Editor Describe Symbol" #k"control-meta-S" :mode "Editor")
320
321
322
323 ;;;; Typescript.
324
325 (bind-key "Confirm Typescript Input" #k"return" :mode "Typescript")
326 (bind-key "Interactive Beginning of Line" #k"control-a" :mode "Typescript")
327 (bind-key "Kill Interactive Input" #k"meta-i" :mode "Typescript")
328 (bind-key "Previous Interactive Input" #k"meta-p" :mode "Typescript")
329 (bind-key "Search Previous Interactive Input" #k"meta-P" :mode "Typescript")
330 (bind-key "Next Interactive Input" #k"meta-n" :mode "Typescript")
331 (bind-key "Reenter Interactive Input" #k"control-return" :mode "Typescript")
332 (bind-key "Typescript Slave Break" #k"hyper-b" :mode "Typescript")
333 (bind-key "Typescript Slave to Top Level" #k"hyper-g" :mode "Typescript")
334 (bind-key "Select Slave" #k"control-meta-\c")
335 (bind-key "Select Background" #k"control-meta-C")
336
337 (bind-key "Abort Operations" #k"hyper-a")
338 (bind-key "List Operations" #k"hyper-l")
339
340 (bind-key "Next Compiler Error" #k"hyper-n")
341 (bind-key "Previous Compiler Error" #k"hyper-p")
342
343
344
345 ;;;; Lisp (some).
346
347 (bind-key "Indent Form" #k"control-meta-q")
348 (bind-key "Defindent" #k"control-meta-#")
349 (bind-key "Beginning of Defun" #k"control-meta-[")
350 (bind-key "End of Defun" #k"control-meta-]")
351 (bind-key "Beginning of Defun" #k"control-meta-a")
352 (bind-key "End of Defun" #k"control-meta-e")
353 (bind-key "Forward Form" #k"control-meta-f")
354 (bind-key "Backward Form" #k"control-meta-b")
355 (bind-key "Forward List" #k"control-meta-n")
356 (bind-key "Backward List" #k"control-meta-p")
357 (bind-key "Transpose Forms" #k"control-meta-t")
358 (bind-key "Forward Kill Form" #k"control-meta-k")
359 (bind-key "Backward Kill Form" #k"control-meta-backspace")
360 (bind-key "Backward Kill Form" #k"control-meta-delete")
361 (bind-key "Mark Form" #k"control-meta-@")
362 (bind-key "Mark Defun" #k"control-meta-h")
363 (bind-key "Insert ()" #k"meta-(")
364 (bind-key "Move over )" #k"meta-)")
365 (bind-key "Backward Up List" #k"control-meta-(")
366 (bind-key "Backward Up List" #k"control-meta-u")
367 (bind-key "Forward Up List" #k"control-meta-)")
368 (bind-key "Down List" #k"control-meta-d")
369 (bind-key "Extract List" #k"control-meta-x")
370 (bind-key "Lisp Insert )" #k")" :mode "Lisp")
371 (bind-key "Delete Previous Character Expanding Tabs" #k"backspace" :mode "Lisp")
372 (bind-key "Delete Previous Character Expanding Tabs" #k"delete" :mode "Lisp")
373
374 (bind-key "Evaluate Expression" #k"meta-escape")
375 (bind-key "Evaluate Defun" #k"control-x control-e")
376 (bind-key "Compile Defun" #k"control-x control-c")
377 (bind-key "Compile Buffer File" #k"control-x c")
378 (bind-key "Macroexpand Expression" #k"control-M")
379
380 (bind-key "Describe Function Call" #k"control-meta-A")
381 (bind-key "Describe Symbol" #k"control-meta-S")
382
383 (bind-key "Goto Definition" #k"control-meta-F")
384
385
386
387 ;;;; More Miscellaneous bindings.
388
389 (bind-key "Open Line" #k"Control-o")
390 (bind-key "New Line" #k"return")
391
392 (bind-key "Transpose Words" #k"meta-t")
393 (bind-key "Transpose Lines" #k"control-x control-t")
394 (bind-key "Transpose Regions" #k"control-x t"))
395
396 (bind-key "Uppercase Region" #k"control-x control-u")
397 (bind-key "Lowercase Region" #k"control-x control-l")
398
399 (bind-key "Delete Indentation" #k"meta-^")
400 (bind-key "Delete Indentation" #k"control-meta-^")
401 (bind-key "Delete Horizontal Space" #k"meta-\\")
402 (bind-key "Delete Blank Lines" #k"control-x control-o" :global)
403 (bind-key "Just One Space" #k"meta-\|")
404 (bind-key "Back to Indentation" #k"meta-m")
405 (bind-key "Back to Indentation" #k"control-meta-m")
406 (bind-key "Indent Rigidly" #k"control-x tab")
407 (bind-key "Indent Rigidly" #k"control-x control-i")
408
409 (bind-key "Indent New Line" #k"linefeed")
410 (bind-key "Indent" #k"tab")
411 (bind-key "Indent" #k"control-i")
412 (bind-key "Indent Region" #k"control-meta-\\")
413 (bind-key "Quote Tab" #k"meta-tab")
414
415 (bind-key "Directory" #k"control-x control-\d")
416 (bind-key "Verbose Directory" #k"control-x control-D")
417
418 (bind-key "Activate Region" #k"control-x control-@")
419 (bind-key "Activate Region" #k"control-x control-space")
420
421 (bind-key "Save Position" #k"control-x s")
422 (bind-key "Jump to Saved Position" #k"control-x j")
423 (bind-key "Put Register" #k"control-x x")
424 (bind-key "Get Register" #k"control-x g")
425
426 (bind-key "Delete Previous Character Expanding Tabs" #k"backspace"
427 :mode "Pascal")
428 (bind-key "Delete Previous Character Expanding Tabs" #k"delete" :mode "Pascal")
429 (bind-key "Scribe Insert Bracket" #k")" :mode "Pascal")
430 (bind-key "Scribe Insert Bracket" #k"]" :mode "Pascal")
431 (bind-key "Scribe Insert Bracket" #k"}" :mode "Pascal")
432
433
434 ;;;; Auto Fill Mode.
435
436 (bind-key "Fill Paragraph" #k"meta-q")
437 (bind-key "Fill Region" #k"meta-g")
438 (bind-key "Set Fill Prefix" #k"control-x ."))
439 (bind-key "Set Fill Column" #k"control-x f")
440 (bind-key "Auto Fill Return" #k"return" :mode "Fill")
441 (bind-key "Auto Fill Space" #k"space" :mode "Fill")
442 (bind-key "Auto Fill Linefeed" #k"linefeed" :mode "Fill")
443
444
445
446 ;;;; Keyboard macro bindings.
447
448 (bind-key "Define Keyboard Macro" #k"control-x (")
449 (bind-key "Define Keyboard Macro Key" #k"control-x meta-(")
450 (bind-key "End Keyboard Macro" #k"control-x )")
451 (bind-key "End Keyboard Macro" #k"control-x hyper-)")
452 (bind-key "Last Keyboard Macro" #k"control-x e")
453 (bind-key "Keyboard Macro Query" #k"control-x q")
454
455
456
457 ;;;; Spell bindings.
458
459 (bind-key "Check Word Spelling" #k"meta-$")
460 (bind-key "Add Word to Spelling Dictionary" #k"control-x $")
461
462 (dolist (info (command-bindings (getstring "Self Insert" *command-names*)))
463 (let* ((key (car info))
464 (key-event (svref key 0))
465 (character (key-event-char key-event)))
466 (unless (or (alpha-char-p character) (eq key-event #k"'"))
467 (bind-key "Auto Check Word Spelling" key :mode "Spell"))))
468 (bind-key "Auto Check Word Spelling" #k"return" :mode "Spell")
469 (bind-key "Auto Check Word Spelling" #k"tab" :mode "Spell")
470 (bind-key "Auto Check Word Spelling" #k"linefeed" :mode "Spell")
471 (bind-key "Correct Last Misspelled Word" #k"meta-:")
472 (bind-key "Undo Last Spelling Correction" #k"control-x a")
473
474
475
476 ;;;; Overwrite Mode.
477
478 (bind-key "Overwrite Delete Previous Character" #k"delete" :mode "Overwrite")
479 (bind-key "Overwrite Delete Previous Character" #k"backspace" :mode "Overwrite")
480
481 ;;; Do up the printing characters ...
482 (do ((i 33 (1+ i)))
483 ((= i 126))
484 (let ((key-event (char-key-event (code-char i))))
485 (bind-key "Self Overwrite" key-event :mode "Overwrite")))
486
487 (bind-key "Self Overwrite" #k"space" :mode "Overwrite")
488
489
490
491 ;;;; Comment bindings.
492
493 (bind-key "Indent for Comment" #k"meta-;")
494 (bind-key "Set Comment Column" #k"control-x ;")
495 (bind-key "Kill Comment" #k"control-meta-;")
496 (bind-key "Down Comment Line" #k"meta-n")
497 (bind-key "Up Comment Line" #k"meta-p")
498 (bind-key "Indent New Comment Line" #k"meta-j")
499 (bind-key "Indent New Comment Line" #k"meta-linefeed")
500
501
502 ;;;; Word Abbrev Mode.
503
504 (bind-key "Add Mode Word Abbrev" #k"control-x control-a")
505 (bind-key "Add Global Word Abbrev" #k"control-x +")
506 (bind-key "Inverse Add Mode Word Abbrev" #k"control-x control-h")
507 (bind-key "Inverse Add Global Word Abbrev" #k"control-x \-")
508 ;; Removed in lieu of "Pop and Goto Mark".
509 ;;(bind-key "Abbrev Expand Only" #k"meta-space")
510 (bind-key "Word Abbrev Prefix Mark" #k"meta-\"")
511 (bind-key "Unexpand Last Word" #k"control-x u")
512
513 (dolist (key (list #k"!" #k"~" #k"@" #k"#" #k";" #k"$" #k"%" #k"^" #k"&" #k"*"
514 #k"\-" #k"_" #k"=" #k"+" #k"[" #k"]" #k"(" #k")" #k"/" #k"|"
515 #k":" #k"'" #k"\"" #k"{" #k"}" #k"," #k"\<" #k"." #k"\>"
516 #k"`" #k"\\" #k"?" #k"return" #k"newline" #k"tab" #k"space"))
517 (bind-key "Abbrev Expand Only" key :mode "Abbrev"))
518
519
520
521 ;;;; Scribe Mode.
522
523 (dolist (key (list #k"]" #k")" #k"}" #k"\>"))
524 (bind-key "Scribe Insert Bracket" key :mode "Scribe"))
525
526 (bind-key "Scribe Buffer File" #k"control-x c" :mode "Scribe")
527 (bind-key "Select Scribe Warnings" #k"control-meta-C" :mode "Scribe")
528
529 (bind-key "Insert Scribe Directive" #k"hyper-i" :mode "Scribe")
530
531
532
533 ;;;; X commands:
534
535 (bind-key "Insert Cut Buffer" #k"insert")
536 (bind-key "Region to Cut Buffer" #k"meta-insert")
537
538
539
540 ;;;; Mailer commands.
541
542 (do-alpha-key-events (key-event :both)
543 (bind-key "Illegal" key-event :mode "Headers")
544 (bind-key "Illegal" key-event :mode "Message"))
545
546
547 ;;; Global.
548
549 (bind-key "Incorporate and Read New Mail" #k"control-x i")
550 (bind-key "Send Message" #k"control-x m")
551 (bind-key "Message Headers" #k"control-x r")
552
553
554 ;;; Both Headers and Message modes.
555 ;;;
556 ;;; The bindings in these two blocks should be the same, one for "Message" mode
557 ;;; and one for "Headers" mode.
558 ;;;
559
560 (bind-key "Next Message" #k"meta-n" :mode "Message")
561 (bind-key "Previous Message" #k"meta-p" :mode "Message")
562 (bind-key "Next Undeleted Message" #k"n" :mode "Message")
563 (bind-key "Previous Undeleted Message" #k"p" :mode "Message")
564 (bind-key "Send Message" #k"s" :mode "Message")
565 (bind-key "Send Message" #k"m" :mode "Message")
566 (bind-key "Forward Message" #k"f" :mode "Message")
567 (bind-key "Headers Delete Message" #k"k" :mode "Message")
568 (bind-key "Headers Undelete Message" #k"u" :mode "Message")
569 (bind-key "Headers Refile Message" #k"o" :mode "Message")
570 (bind-key "List Mail Buffers" #k"l" :mode "Message")
571 (bind-key "Quit Headers" #k"q" :mode "Message")
572 (bind-key "Incorporate and Read New Mail" #k"i" :mode "Message")
573 (bind-key "Beginning of Buffer" #k"\<" :mode "Message")
574 (bind-key "End of Buffer" #k"\>" :mode "Message")
575
576 (bind-key "Next Message" #k"meta-n" :mode "Headers")
577 (bind-key "Previous Message" #k"meta-p" :mode "Headers")
578 (bind-key "Next Undeleted Message" #k"n" :mode "Headers")
579 (bind-key "Previous Undeleted Message" #k"p" :mode "Headers")
580 (bind-key "Send Message" #k"s" :mode "Headers")
581 (bind-key "Send Message" #k"m" :mode "Headers")
582 (bind-key "Forward Message" #k"f" :mode "Headers")
583 (bind-key "Headers Delete Message" #k"k" :mode "Headers")
584 (bind-key "Headers Undelete Message" #k"u" :mode "Headers")
585 (bind-key "Headers Refile Message" #k"o" :mode "Headers")
586 (bind-key "List Mail Buffers" #k"l" :mode "Headers")
587 (bind-key "Quit Headers" #k"q" :mode "Headers")
588 (bind-key "Incorporate and Read New Mail" #k"i" :mode "Headers")
589 (bind-key "Beginning of Buffer" #k"\<" :mode "Headers")
590 (bind-key "End of Buffer" #k"\>" :mode "Headers")
591
592
593 ;;; Headers mode.
594
595 (bind-key "Delete Message and Down Line" #k"d" :mode "Headers")
596 (bind-key "Pick Headers" #k"h" :mode "Headers")
597 (bind-key "Show Message" #k"space" :mode "Headers")
598 (bind-key "Show Message" #k"." :mode "Headers")
599 (bind-key "Reply to Message" #k"r" :mode "Headers")
600 (bind-key "Expunge Messages" #k"!" :mode "Headers")
601 (bind-key "Headers Help" #k"?" :mode "Headers")
602
603
604 ;;; Message mode.
605
606 (bind-key "Delete Message and Show Next" #k"d" :mode "Message")
607 (bind-key "Goto Headers Buffer" #k"^" :mode "Message")
608 (bind-key "Scroll Message" #k"space" :mode "Message")
609 (bind-key "Scroll Message" #k"control-v" :mode "Message")
610 (bind-key "Scroll Window Up" #k"backspace" :mode "Message")
611 (bind-key "Scroll Window Up" #k"delete" :mode "Message")
612 (bind-key "Reply to Message in Other Window" #k"r" :mode "Message")
613 (bind-key "Edit Message Buffer" #k"e" :mode "Message")
614 (bind-key "Insert Message Region" #k"hyper-y" :mode "Message")
615 (bind-key "Message Help" #k"?" :mode "Message")
616
617
618 ;;; Draft mode.
619
620 (bind-key "Goto Headers Buffer" #k"hyper-^" :mode "Draft")
621 (bind-key "Goto Message Buffer" #k"hyper-m" :mode "Draft")
622 (bind-key "Deliver Message" #k"hyper-s" :mode "Draft")
623 (bind-key "Deliver Message" #k"hyper-c" :mode "Draft")
624 (bind-key "Insert Message Buffer" #k"hyper-y" :mode "Draft")
625 (bind-key "Delete Draft and Buffer" #k"hyper-q" :mode "Draft")
626 (bind-key "List Mail Buffers" #k"hyper-l" :mode "Draft")
627 (bind-key "Draft Help" #k"hyper-?" :mode "Draft")
628
629
630
631 ;;;; Process (Shell).
632
633 (bind-key "Confirm Process Input" #k"return" :mode "Process")
634 (bind-key "Shell" #k"control-meta-s")
635 (bind-key "Interrupt Buffer Subprocess" #k"hyper-c" :mode "Process")
636 (bind-key "Stop Buffer Subprocess" #k"hyper-z" :mode "Process")
637 (bind-key "Quit Buffer Subprocess" #k"hyper-\\")
638 (bind-key "Send EOF to Process" #k"hyper-d")
639
640 (bind-key "Previous Interactive Input" #k"meta-p" :mode "Process")
641 (bind-key "Search Previous Interactive Input" #k"meta-P" :mode "Process")
642 (bind-key "Interactive Beginning of Line" #k"control-a" :mode "Process")
643 (bind-key "Kill Interactive Input" #k"meta-i" :mode "Process")
644 (bind-key "Next Interactive Input" #k"meta-n" :mode "Process")
645 (bind-key "Reenter Interactive Input" #k"control-return" :mode "Process")
646
647
648
649 ;;;; Bufed.
650
651 (bind-key "Bufed" #k"control-x control-meta-b"))
652 (bind-key "Bufed Delete" #k"d" :mode "Bufed")
653 (bind-key "Bufed Delete" #k"control-d" :mode "Bufed")
654 (bind-key "Bufed Undelete" #k"u" :mode "Bufed")
655 (bind-key "Bufed Expunge" #k"!" :mode "Bufed")
656 (bind-key "Bufed Quit" #k"q" :mode "Bufed")
657 (bind-key "Bufed Goto" #k"space" :mode "Bufed")
658 (bind-key "Bufed Goto and Quit" #k"super-leftdown" :mode "Bufed")
659 (bind-key "Bufed Save File" #k"s" :mode "Bufed")
660 (bind-key "Next Line" #k"n" :mode "Bufed")
661 (bind-key "Previous Line" #k"p" :mode "Bufed")
662
663
664 (bind-key "Bufed Help" #k"?" :mode "Bufed")
665
666
667
668 ;;;; Dired.
669
670 (bind-key "Dired" #k"control-x control-meta-d"))
671
672 (bind-key "Dired Delete File and Down Line" #k"d" :mode "Dired")
673 (bind-key "Dired Delete File with Pattern" #k"D" :mode "Dired")
674 (bind-key "Dired Delete File" #k"control-d" :mode "Dired")
675 (bind-key "Dired Delete File" #k"k" :mode "Dired")
676
677 (bind-key "Dired Undelete File and Down Line" #k"u" :mode "Dired")
678 (bind-key "Dired Undelete File with Pattern" #k"U" :mode "Dired")
679 (bind-key "Dired Undelete File" #k"control-u" :mode "Dired")
680
681 (bind-key "Dired Expunge Files" #k"!" :mode "Dired")
682 (bind-key "Dired Update Buffer" #k"hyper-u" :mode "Dired")
683 (bind-key "Dired View File" #k"space" :mode "Dired")
684 (bind-key "Dired Edit File" #k"e" :mode "Dired")
685 (bind-key "Dired Up Directory" #k"^" :mode "Dired")
686 (bind-key "Dired Quit" #k"q" :mode "Dired")
687 (bind-key "Dired Help" #k"?" :mode "Dired")
688
689 (bind-key "Dired Copy File" #k"c" :mode "Dired")
690 (bind-key "Dired Copy with Wildcard" #k"C" :mode "Dired")
691 (bind-key "Dired Rename File" #k"r" :mode "Dired")
692 (bind-key "Dired Rename with Wildcard" #k"R" :mode "Dired")
693
694 (bind-key "Next Line" #k"n" :mode "Dired")
695 (bind-key "Previous Line" #k"p" :mode "Dired")
696
697
698
699 ;;;; View Mode.
700
701 (bind-key "View Scroll Down" #k"space" :mode "View")
702 (bind-key "Scroll Window Up" #k"b" :mode "View")
703 (bind-key "Scroll Window Up" #k"backspace" :mode "View")
704 (bind-key "Scroll Window Up" #k"delete" :mode "View")
705 (bind-key "View Return" #k"^" :mode "View")
706 (bind-key "View Quit" #k"q" :mode "View")
707 (bind-key "View Edit File" #k"e" :mode "View")
708 (bind-key "View Help" #k"?" :mode "View")
709 (bind-key "Beginning of Buffer" #k"\<" :mode "View")
710 (bind-key "End of Buffer" #k"\>" :mode "View")
711
712
713
714 ;;;; Lisp Library.
715
716
717 (bind-key "Describe Pointer Library Entry" #k"leftdown" :mode "Lisp-Lib")
718 (bind-key "Load Pointer Library Entry" #k"rightdown" :mode "Lisp-Lib")
719 (bind-key "Describe Library Entry" #k"space" :mode "Lisp-Lib")
720 (bind-key "Load Library Entry" #k"l" :mode "Lisp-Lib")
721 (bind-key "Exit Lisp Library" #k"q" :mode "Lisp-Lib")
722 (bind-key "Lisp Library Help" #k"?" :mode "Lisp-Lib")
723
724
725
726 ;;;; Completion mode.
727
728 (dolist (c (command-bindings (getstring "Self Insert" *command-names*)))
729 (bind-key "Completion Self Insert" (car c) :mode "Completion"))
730
731 (bind-key "Completion Self Insert" #k"space" :mode "Completion")
732 (bind-key "Completion Self Insert" #k"tab" :mode "Completion")
733 (bind-key "Completion Self Insert" #k"return" :mode "Completion")
734 (bind-key "Completion Self Insert" #k"linefeed" :mode "Completion")
735
736 (bind-key "Completion Complete Word" #k"end")
737 (bind-key "Completion Rotate Completions" #k"meta-end")
738
739
740
741 ;;;; Caps-Lock mode.
742
743 (do-alpha-key-events (key-event :lower)
744 (bind-key "Self Insert Caps Lock" key-event :mode "CAPS-LOCK"))
745
746
747
748 ;;;; Logical characters.
749
750 (setf (logical-key-event-p #k"control-s" :forward-search) t)
751 (setf (logical-key-event-p #k"control-r" :backward-search) t)
752 (setf (logical-key-event-p #k"control-r" :recursive-edit) t)
753 (setf (logical-key-event-p #k"delete" :cancel) t)
754 (setf (logical-key-event-p #k"backspace" :cancel) t)
755 (setf (logical-key-event-p #k"control-g" :abort) t)
756 (setf (logical-key-event-p #k"escape" :exit) t)
757 (setf (logical-key-event-p #k"y" :yes) t)
758 (setf (logical-key-event-p #k"space" :yes) t)
759 (setf (logical-key-event-p #k"n" :no) t)
760 (setf (logical-key-event-p #k"backspace" :no) t)
761 (setf (logical-key-event-p #k"delete" :no) t)
762 (setf (logical-key-event-p #k"!" :do-all) t)
763 (setf (logical-key-event-p #k"." :do-once) t)
764 (setf (logical-key-event-p #k"home" :help) t)
765 (setf (logical-key-event-p #k"h" :help) t)
766 (setf (logical-key-event-p #k"?" :help) t)
767 (setf (logical-key-event-p #k"control-_" :help) t)
768 (setf (logical-key-event-p #k"return" :confirm) t)
769 (setf (logical-key-event-p #k"control-q" :quote) t)
770 (setf (logical-key-event-p #k"k" :keep) t)

  ViewVC Help
Powered by ViewVC 1.1.5