close Warning: Can't use blame annotator:
No changeset 2098 in the repository

source: release/1.3/source/cocoa-ide/hemlock/src/bindings.lisp

Last change on this file was 11927, checked in by R. Matthew Emerson, 16 years ago

Merge trunk changes r11863 through r11898.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 36.1 KB
RevLine 
1;; -*- Log: hemlock.log; Package: Hemlock -*-
2;;;
3;;; **********************************************************************
4;;; This code was written as part of the CMU Common Lisp project at
5;;; Carnegie Mellon University, and has been placed in the public domain.
6;;;
7#+CMU (ext:file-comment
8 "$Header$")
9;;;
10;;; **********************************************************************
11;;;
12;;; Some bindings:
13;;;
14
15(in-package :hemlock)
16
17
18
19
20;;;; Default key translations:
21
22;;; This page defines prefix characters that set specified modifier bits on
23;;; the next character typed.
24;;;
25(setf (key-translation #k"escape") '(:bits :meta))
26(setf (key-translation #k"control-z") '(:bits :control :meta))
27(setf (key-translation #k"control-Z") '(:bits :control :meta))
28(setf (key-translation #k"control-^") '(:bits :control))
29(setf (key-translation #k"control-c") '(:bits :hyper))
30(setf (key-translation #k"control-C") '(:bits :hyper))
31
32
33
34
35;;;; Most every binding.
36
37;;; Self insert letters:
38;;;
39(do-alpha-key-events (key-event :both)
40 (bind-key "Self Insert" key-event))
41
42(bind-key "Beginning of Line" #k"control-a")
43(bind-key "Select to Beginning of Line" #k"control-A")
44(bind-key "Delete Next Character" #k"control-d")
45(bind-key "Delete Next Character" #k"del")
46(bind-key "End of Line" #k"control-e")
47(bind-key "Select to End of Line" #k"control-E")
48(bind-key "Forward Character" #k"control-f")
49(bind-key "Forward Character" #k"rightarrow")
50(bind-key "Select Forward Character" #k"control-F")
51(bind-key "Select Forward Character" #k"shift-rightarrow")
52(bind-key "Backward Character" #k"control-b")
53(bind-key "Backward Character" #k"leftarrow")
54(bind-key "Select Backward Character" #k"control-B")
55(bind-key "Select Backward Character" #k"shift-leftarrow")
56(bind-key "Kill Line" #k"control-k")
57(bind-key "Refresh Screen" #k"control-l")
58(bind-key "Next Line" #k"control-n")
59(bind-key "Next Line" #k"downarrow")
60(bind-key "Select Next Line" #k"control-N")
61(bind-key "Select Next Line" #k"shift-downarrow")
62(bind-key "Previous Line" #k"control-p")
63(bind-key "Previous Line" #k"uparrow")
64(bind-key "Select Previous Line" #k"control-P")
65(bind-key "Select Previous Line" #k"shift-uparrow")
66(bind-key "Query Replace" #k"meta-%")
67(bind-key "Reverse Incremental Search" #k"control-r")
68(bind-key "Incremental Search" #k"control-s")
69(bind-key "Forward Search" #k"meta-s")
70(bind-key "Reverse Search" #k"meta-r")
71(bind-key "Transpose Characters" #k"control-t")
72(bind-key "Universal Argument" #k"control-u")
73(bind-key "Scroll Window Down" #k"control-v")
74(bind-key "Scroll Window Down" #k"pagedown")
75(bind-key "Scroll Window Up" #k"meta-v")
76(bind-key "Scroll Window Up" #k"pageup")
77;(bind-key "Scroll Next Window Down" #k"control-meta-v")
78;(bind-key "Scroll Next Window Up" #k"control-meta-V")
79
80(bind-key "Do Nothing" #k"leftdown")
81;(bind-key "Do Nothing" #k"leftup")
82
83(bind-key "Abort Command" #k"control-g")
84(bind-key "Abort Command" #k"control-G")
85(bind-key "Abort Command" #k"control-x control-g")
86(bind-key "Abort Command" #k"control-x control-G")
87
88
89(bind-key "Process File Options" #k"control-x m" :global)
90(bind-key "Ensure File Options Line" #k"control-meta-M" :global)
91(bind-key "Beginning of Buffer" #k"home")
92(bind-key "End of Buffer" #k"end")
93(bind-key "Undo" #k"control-_")
94(bind-key "Undo" #k"control-\/")
95(bind-key "Describe Key" #k"meta-?")
96(bind-key "What Cursor Position" #k"control-x =")
97
98
99#||
100(bind-key "Here to Top of Window" #k"leftdown")
101(bind-key "Do Nothing" #k"leftup")
102(bind-key "Top Line to Here" #k"rightdown")
103(bind-key "Do Nothing" #k"rightup")
104(bind-key "Point to Here" #k"middledown")
105(bind-key "Point to Here" #k"super-leftdown")
106(bind-key "Generic Pointer Up" #k"middleup")
107(bind-key "Generic Pointer Up" #k"super-leftup")
108(bind-key "Do Nothing" #k"super-rightup")
109(bind-key "Insert Kill Buffer" #k"super-rightdown")
110||#
111
112(bind-key "Insert File" #k"control-x control-r")
113(bind-key "Save File" #k"control-x control-s")
114(bind-key "Visit File" #k"control-x control-v")
115(bind-key "Write File" #k"control-x control-w")
116(bind-key "Find File" #k"control-x control-f")
117(bind-key "Backup File" #k"control-x meta-b")
118;(bind-key "Save All Files" #k"control-x control-m")
119;(bind-key "Save All Files" #k"control-x return")
120;(bind-key "Save All Files and Exit" #k"control-x meta-z")
121
122;(bind-key "List Buffers" #k"control-x control-b")
123(bind-key "Buffer Not Modified" #k"meta-~")
124;(bind-key "Check Buffer Modified" #k"control-x ~")
125;(bind-key "Select Buffer" #k"control-x b")
126;(bind-key "Select Previous Buffer" #k"control-meta-l")
127;(bind-key "Circulate Buffers" #k"control-meta-L")
128;(bind-key "Create Buffer" #k"control-x meta-b")
129;(bind-key "Kill Buffer" #k"control-x k")
130;(bind-key "Select Random Typeout Buffer" #k"hyper-t")
131
132;(bind-key "Next Window" #k"control-x n")
133;(bind-key "Next Window" #k"control-x o")
134;(bind-key "Previous Window" #k"control-x p")
135;(bind-key "Split Window" #k"control-x 2")
136;(bind-key "New Window" #k"control-x control-n")
137;(bind-key "Delete Window" #k"control-x d")
138;(bind-key "Delete Next Window" #k"control-x 1")
139;(bind-key "Line to Top of Window" #k"meta-!")
140;(bind-key "Line to Center of Window" #k"meta-#")
141;(bind-key "Top of Window" #k"meta-,")
142;(bind-key "Bottom of Window" #k"meta-.")
143
144(bind-key "Delete Previous Character" #k"delete")
145(bind-key "Delete Previous Character" #k"backspace")
146(bind-key "Kill Next Word" #k"meta-d")
147(bind-key "Kill Previous Word" #k"meta-delete")
148(bind-key "Kill Previous Word" #k"meta-backspace")
149(bind-key "Exchange Point and Mark" #k"control-x control-x")
150(bind-key "Mark Whole Buffer" #k"control-x h")
151(bind-key "Set/Pop Mark" #k"control-@")
152(bind-key "Set/Pop Mark" #k"control-space")
153(bind-key "Pop and Goto Mark" #k"meta-@")
154(bind-key "Pop Mark" #k"control-meta-space") ;#k"control-meta-@" = "Mark Form".
155(bind-key "Kill Region" #k"control-w")
156(bind-key "Save Region" #k"meta-w")
157(bind-key "Un-Kill" #k"control-y")
158(bind-key "Rotate Kill Ring" #k"meta-y")
159
160(bind-key "Forward Word" #k"meta-f")
161(bind-key "Select Forward Word" #k"meta-F")
162(bind-key "Backward Word" #k"meta-b")
163(bind-key "Select Backward Word" #k"meta-B")
164
165(bind-key "Forward Paragraph" #k"meta-]")
166(bind-key "Forward Sentence" #k"meta-e")
167(bind-key "Backward Paragraph" #k"meta-[")
168(bind-key "Backward Sentence" #k"meta-a")
169
170(bind-key "Mark Paragraph" #k"meta-h")
171
172(bind-key "Forward Kill Sentence" #k"meta-k")
173(bind-key "Backward Kill Sentence" #k"control-x delete")
174(bind-key "Backward Kill Sentence" #k"control-x backspace")
175
176(bind-key "Beginning of Buffer" #k"meta-\<")
177(bind-key "End of Buffer" #k"meta-\>")
178(bind-key "Mark to Beginning of Buffer" #k"control-\<")
179(bind-key "Mark to End of Buffer" #k"control-\>")
180
181(bind-key "Extended Command" #k"meta-x")
182
183(bind-key "Uppercase Word" #k"meta-u")
184(bind-key "Lowercase Word" #k"meta-l")
185(bind-key "Capitalize Word" #k"meta-c")
186
187;(bind-key "Previous Page" #k"control-x [")
188;(bind-key "Next Page" #k"control-x ]")
189;(bind-key "Mark Page" #k"control-x control-p")
190;(bind-key "Count Lines Page" #k"control-x l")
191
192(bind-key "Expand Dynamic Abbreviation" #k"meta-/") ;; Aquamacs and LW binding
193(bind-key "Expand Dynamic Abbreviation" #k"meta-`") ;; MCL binding
194
195(bind-key "Help" #k"control-h")
196
197
198;;;; Argument Digit and Negative Argument.
199
200(bind-key "Argument Digit" #k"meta-\-")
201(bind-key "Argument Digit" #k"meta-0")
202(bind-key "Argument Digit" #k"meta-1")
203(bind-key "Argument Digit" #k"meta-2")
204(bind-key "Argument Digit" #k"meta-3")
205(bind-key "Argument Digit" #k"meta-4")
206(bind-key "Argument Digit" #k"meta-5")
207(bind-key "Argument Digit" #k"meta-6")
208(bind-key "Argument Digit" #k"meta-7")
209(bind-key "Argument Digit" #k"meta-8")
210(bind-key "Argument Digit" #k"meta-9")
211(bind-key "Argument Digit" #k"control-\-")
212(bind-key "Argument Digit" #k"control-0")
213(bind-key "Argument Digit" #k"control-1")
214(bind-key "Argument Digit" #k"control-2")
215(bind-key "Argument Digit" #k"control-3")
216(bind-key "Argument Digit" #k"control-4")
217(bind-key "Argument Digit" #k"control-5")
218(bind-key "Argument Digit" #k"control-6")
219(bind-key "Argument Digit" #k"control-7")
220(bind-key "Argument Digit" #k"control-8")
221(bind-key "Argument Digit" #k"control-9")
222(bind-key "Argument Digit" #k"control-meta-\-")
223(bind-key "Argument Digit" #k"control-meta-0")
224(bind-key "Argument Digit" #k"control-meta-1")
225(bind-key "Argument Digit" #k"control-meta-2")
226(bind-key "Argument Digit" #k"control-meta-3")
227(bind-key "Argument Digit" #k"control-meta-4")
228(bind-key "Argument Digit" #k"control-meta-5")
229(bind-key "Argument Digit" #k"control-meta-6")
230(bind-key "Argument Digit" #k"control-meta-7")
231(bind-key "Argument Digit" #k"control-meta-8")
232(bind-key "Argument Digit" #k"control-meta-9")
233
234(bind-key "Digit" #k"\-")
235(bind-key "Digit" #k"0")
236(bind-key "Digit" #k"1")
237(bind-key "Digit" #k"2")
238(bind-key "Digit" #k"3")
239(bind-key "Digit" #k"4")
240(bind-key "Digit" #k"5")
241(bind-key "Digit" #k"6")
242(bind-key "Digit" #k"7")
243(bind-key "Digit" #k"8")
244(bind-key "Digit" #k"9")
245
246
247
248;;;; Self Insert and Quoted Insert.
249
250(bind-key "Quoted Insert" #k"control-q")
251
252(bind-key "Self Insert" #k"space")
253(bind-key "Self Insert" #k"!")
254(bind-key "Self Insert" #k"@")
255(bind-key "Self Insert" #k"#")
256(bind-key "Self Insert" #k"$")
257(bind-key "Self Insert" #k"%")
258(bind-key "Self Insert" #k"^")
259(bind-key "Self Insert" #k"&")
260(bind-key "Self Insert" #k"*")
261(bind-key "Self Insert" #k"(")
262(bind-key "Self Insert" #k")")
263(bind-key "Self Insert" #k"_")
264(bind-key "Self Insert" #k"+")
265(bind-key "Self Insert" #k"~")
266(bind-key "Self Insert" #k"[")
267(bind-key "Self Insert" #k"]")
268(bind-key "Self Insert" #k"\\")
269(bind-key "Self Insert" #k"|")
270(bind-key "Self Insert" #k":")
271(bind-key "Self Insert" #k";")
272(bind-key "Self Insert" #k"\"")
273(bind-key "Self Insert" #k"'")
274(bind-key "Self Insert" #k"=")
275(bind-key "Self Insert" #k"`")
276(bind-key "Self Insert" #k"\<")
277(bind-key "Self Insert" #k"\>")
278(bind-key "Self Insert" #k",")
279(bind-key "Self Insert" #k".")
280(bind-key "Self Insert" #k"?")
281(bind-key "Self Insert" #k"/")
282(bind-key "Self Insert" #k"{")
283(bind-key "Self Insert" #k"}")
284
285
286
287
288;;;; Echo Area.
289
290;;; Basic echo-area commands.
291;;;
292(bind-key "Help on Parse" #k"home" :mode "Echo Area")
293(bind-key "Help on Parse" #k"control-_" :mode "Echo Area")
294
295(bind-key "Complete Keyword" #k"escape" :mode "Echo Area")
296(bind-key "Complete Field" #k"space" :mode "Echo Area")
297(bind-key "Confirm Parse" #k"return" :mode "Echo Area")
298
299;;; Rebind some standard commands to behave better.
300;;;
301;;(bind-key "Kill Parse" #k"control-u" :mode "Echo Area")
302(bind-key "Insert Parse Default" #k"control-i" :mode "Echo Area")
303(bind-key "Insert Parse Default" #k"tab" :mode "Echo Area")
304(bind-key "Echo Area Delete Previous Character" #k"delete" :mode "Echo Area")
305(bind-key "Echo Area Delete Previous Character" #k"backspace" :mode "Echo Area")
306(bind-key "Echo Area Kill Previous Word" #k"meta-h" :mode "Echo Area")
307(bind-key "Echo Area Kill Previous Word" #k"meta-delete" :mode "Echo Area")
308(bind-key "Echo Area Kill Previous Word" #k"meta-backspace" :mode "Echo Area")
309(bind-key "Echo Area Kill Previous Word" #k"control-w" :mode "Echo Area")
310(bind-key "Beginning of Parse" #k"control-a" :mode "Echo Area")
311(bind-key "Beginning of Parse" #k"meta-\<" :mode "Echo Area")
312(bind-key "Echo Area Backward Character" #k"control-b" :mode "Echo Area")
313(bind-key "Echo Area Backward Word" #k"meta-b" :mode "Echo Area")
314(bind-key "Next Parse" #k"control-n" :mode "Echo Area")
315(bind-key "Previous Parse" #k"control-p" :mode "Echo Area")
316
317;;; Remove some dangerous standard bindings.
318;;;
319(bind-key "Illegal" #k"control-x" :mode "Echo Area")
320(bind-key "Illegal" #k"control-meta-c" :mode "Echo Area")
321(bind-key "Illegal" #k"control-meta-s" :mode "Echo Area")
322(bind-key "Illegal" #k"control-meta-l" :mode "Echo Area")
323(bind-key "Illegal" #k"meta-x" :mode "Echo Area")
324(bind-key "Illegal" #k"control-s" :mode "Echo Area")
325(bind-key "Illegal" #k"control-r" :mode "Echo Area")
326(bind-key "Illegal" #k"hyper-t" :mode "Echo Area")
327
328
329
330
331;;;; Listener and Editor Modes.
332(bind-key "Confirm Listener Input" #k"return" :mode "Listener")
333(bind-key "Confirm Listener Input" #k"shift-return" :mode "Listener")
334(bind-key "Previous Interactive Input" #k"meta-p" :mode "Listener")
335(bind-key "Search Previous Interactive Input" #k"meta-P" :mode "Listener")
336(bind-key "Next Interactive Input" #k"meta-n" :mode "Listener")
337(bind-key "Kill Interactive Input" #k"meta-i" :mode "Listener")
338;(bind-key "Abort Eval Input" #k"control-meta-i" :mode "Listener")
339(bind-key "Interactive Beginning of Line" #k"control-a" :mode "Listener")
340(bind-key "POP Or Delete Forward" #k"control-d" :mode "Listener")
341(bind-key "Reenter Interactive Input" #k"control-return" :mode "Listener")
342
343;;; Make the user use C-x C-w to save the file, and take care
344;;; not to associate the Listener document with any particular
345;;; file or type.
346(bind-key "Illegal" #k"control-x control-s" :mode "Listener")
347(bind-key "Save To File" #k"control-x control-w" :mode "Listener")
348
349(bind-key "Editor Evaluate Expression" #k"control-meta-escape")
350(bind-key "Editor Evaluate Expression" #k"meta-escape" :mode "Editor")
351(bind-key "Editor Evaluate Defun" #k"control-x control-e" :mode "Editor")
352(bind-key "Editor Evaluate Region" #k"enter" :mode "Editor")
353(bind-key "Editor Evaluate Defun" #k"control-meta-x" :mode "Editor")
354(bind-key "Editor Compile Defun" #k"control-x control-c" :mode "Editor")
355(bind-key "Editor Compile Defun" #k"control-x control-C" :mode "Editor")
356
357(bind-key "Editor Macroexpand-1 Expression" #k"control-m" :mode "Editor")
358(bind-key "Editor Macroexpand Expression" #k"control-x control-m" :mode "Editor")
359(bind-key "Editor Describe Function Call" #k"control-meta-A" :mode "Editor")
360(bind-key "Editor Describe Symbol" #k"control-meta-S" :mode "Editor")
361
362
363
364;;;; Lisp (some).
365
366(bind-key "Indent Form" #k"control-meta-q")
367(bind-key "Fill Lisp Comment Paragraph" #k"meta-q" :mode "Lisp")
368(bind-key "Current Function Arglist" #k"control-x control-a" :mode "Lisp")
369(bind-key "Arglist On Space" #k"Space" :mode "Lisp")
370(bind-key "Defindent" #k"control-meta-#")
371(bind-key "Beginning of Defun" #k"control-meta-a")
372(bind-key "Select to Beginning of Defun" #k"control-meta-A")
373(bind-key "End of Defun" #k"control-meta-e")
374(bind-key "Select to End of Defun" #k"control-meta-E")
375(bind-key "Forward Form" #k"control-meta-f")
376(bind-key "Select Forward Form" #k"control-meta-F")
377(bind-key "Backward Form" #k"control-meta-b")
378(bind-key "Select Backward Form" #k"control-meta-B")
379(bind-key "Forward List" #k"control-meta-n")
380(bind-key "Select Forward List" #k"control-meta-N")
381(bind-key "Backward List" #k"control-meta-p")
382(bind-key "Select Backward List" #k"control-meta-P")
383(bind-key "Transpose Forms" #k"control-meta-t")
384(bind-key "Forward Kill Form" #k"control-meta-k")
385(bind-key "Backward Kill Form" #k"control-meta-backspace")
386(bind-key "Backward Kill Form" #k"control-meta-delete")
387(bind-key "Mark Form" #k"control-meta-@")
388(bind-key "Mark Defun" #k"control-meta-h")
389(bind-key "Insert ()" #k"meta-(")
390(bind-key "Move over )" #k"meta-)")
391(bind-key "Backward Up List" #k"control-meta-(")
392(bind-key "Backward Up List" #k"control-meta-u")
393(bind-key "Forward Up List" #k"control-meta-)")
394(bind-key "Down List" #k"control-meta-d")
395(bind-key "Extract List" #k"control-meta-l")
396;;(bind-key "Lisp Insert )" #k")" :mode "Lisp")
397(bind-key "Delete Previous Character Expanding Tabs" #k"backspace" :mode "Lisp")
398(bind-key "Delete Previous Character Expanding Tabs" #k"delete" :mode "Lisp")
399(bind-key "Goto Absolute Line" #k"meta-g")
400;;;(bind-key "Set Package Name" #k"control-x p" :mode "Lisp")
401
402#+listener-bindings
403(progn
404(bind-key "Evaluate Expression" #k"meta-escape")
405(bind-key "Evaluate Defun" #k"control-x control-e")
406(bind-key "Compile Defun" #k"control-x control-c")
407(bind-key "Compile Buffer File" #k"control-x c")
408
409(bind-key "Describe Function Call" #k"control-meta-A")
410(bind-key "Describe Symbol" #k"control-meta-S")
411)
412
413(bind-key "Goto Definition" #k"meta-.")
414
415#+debugger-bindings
416(progn
417(bind-key "Debug Up" #k"control-meta-hyper-u")
418(bind-key "Debug Down" #k"control-meta-hyper-d")
419(bind-key "Debug Top" #k"control-meta-hyper-t")
420(bind-key "Debug Bottom" #k"control-meta-hyper-b")
421(bind-key "Debug Frame" #k"control-meta-hyper-f")
422(bind-key "Debug Quit" #k"control-meta-hyper-q")
423(bind-key "Debug Go" #k"control-meta-hyper-g")
424(bind-key "Debug Abort" #k"control-meta-hyper-a")
425(bind-key "Debug Restart" #k"control-meta-hyper-r")
426(bind-key "Debug Help" #k"control-meta-hyper-h")
427(bind-key "Debug Error" #k"control-meta-hyper-e")
428(bind-key "Debug Backtrace" #k"control-meta-hyper-B")
429(bind-key "Debug Print" #k"control-meta-hyper-p")
430(bind-key "Debug Verbose Print" #k"control-meta-hyper-P")
431(bind-key "Debug List Locals" #k"control-meta-hyper-l")
432(bind-key "Debug Source" #k"control-meta-hyper-s")
433(bind-key "Debug Edit Source" #k"control-meta-hyper-S")
434(bind-key "Debug Flush Errors" #k"control-meta-hyper-F")
435)
436
437
438
439;;;; More Miscellaneous bindings.
440
441(bind-key "Open Line" #k"Control-o")
442(bind-key "New Line" #k"return")
443(bind-key "New Line" #k"shift-return")
444
445(bind-key "Transpose Words" #k"meta-t")
446(bind-key "Transpose Lines" #k"control-x control-t")
447(bind-key "Transpose Regions" #k"control-x t")
448
449;(bind-key "Uppercase Region" #k"control-x control-u")
450;(bind-key "Lowercase Region" #k"control-x control-l")
451;(bind-key "Capitalize Region" #k"control-x control-c")
452
453(bind-key "Delete Indentation" #k"meta-^")
454(bind-key "Delete Indentation" #k"control-meta-^")
455(bind-key "Delete Horizontal Space" #k"meta-\\")
456(bind-key "Delete Blank Lines" #k"control-x control-o" :global)
457(bind-key "Just One Space" #k"meta-space")
458(bind-key "Back to Indentation" #k"meta-m")
459(bind-key "Back to Indentation" #k"control-meta-m")
460(bind-key "Indent Rigidly" #k"control-x tab")
461(bind-key "Indent Rigidly" #k"control-x control-i")
462
463(bind-key "Indent New Line" #k"linefeed")
464(bind-key "Indent" #k"tab")
465(bind-key "Indent" #k"control-i")
466(bind-key "Indent Region" #k"control-meta-\\")
467(bind-key "Quote Tab" #k"meta-tab")
468
469#||
470(bind-key "Directory" #k"control-x control-\d")
471(bind-key "Verbose Directory" #k"control-x control-D")
472||#
473
474(bind-key "Activate Region" #k"control-x control-@")
475(bind-key "Activate Region" #k"control-x control-space")
476
477(bind-key "Save Position" #k"control-x s")
478(bind-key "Jump to Saved Position" #k"control-x j")
479(bind-key "Put Register" #k"control-x x")
480(bind-key "Get Register" #k"control-x g")
481
482#+pascal-mode
483(progn
484(bind-key "Delete Previous Character Expanding Tabs" #k"backspace"
485 :mode "Pascal")
486(bind-key "Delete Previous Character Expanding Tabs" #k"delete" :mode "Pascal")
487(bind-key "Scribe Insert Bracket" #k")" :mode "Pascal")
488(bind-key "Scribe Insert Bracket" #k"]" :mode "Pascal")
489(bind-key "Scribe Insert Bracket" #k"}" :mode "Pascal")
490)
491
492
493
494;;;; Auto Fill Mode.
495
496(bind-key "Fill Paragraph" #k"meta-q")
497(bind-key "Fill Region" #k"meta-g")
498(bind-key "Set Fill Prefix" #k"control-x .")
499(bind-key "Set Fill Column" #k"control-x f")
500(bind-key "Auto Fill Return" #k"return" :mode "Fill")
501(bind-key "Auto Fill Space" #k"space" :mode "Fill")
502(bind-key "Auto Fill Linefeed" #k"linefeed" :mode "Fill")
503
504
505
506
507#|
508;;;; Keyboard macro bindings.
509
510(bind-key "Define Keyboard Macro" #k"control-x (")
511(bind-key "Define Keyboard Macro Key" #k"control-x meta-(")
512(bind-key "End Keyboard Macro" #k"control-x )")
513(bind-key "End Keyboard Macro" #k"control-x hyper-)")
514(bind-key "Last Keyboard Macro" #k"control-x e")
515(bind-key "Keyboard Macro Query" #k"control-x q")
516|#
517
518
519
520;;;; Spell bindings.
521#||
522(progn
523 (bind-key "Check Word Spelling" #k"meta-$")
524 (bind-key "Add Word to Spelling Dictionary" #k"control-x $")
525
526 (dolist (info (command-bindings (getstring "Self Insert" *command-names*)))
527 (let* ((key (car info))
528 (key-event (svref key 0))
529 (character (key-event-char key-event)))
530 (unless (or (alpha-char-p character) (eq key-event #k"'"))
531 (bind-key "Auto Check Word Spelling" key :mode "Spell"))))
532 (bind-key "Auto Check Word Spelling" #k"return" :mode "Spell")
533 (bind-key "Auto Check Word Spelling" #k"tab" :mode "Spell")
534 (bind-key "Auto Check Word Spelling" #k"linefeed" :mode "Spell")
535 (bind-key "Correct Last Misspelled Word" #k"meta-:")
536 (bind-key "Undo Last Spelling Correction" #k"control-x a")
537 )
538
539
540;;;; Overwrite Mode.
541||#
542
543#||
544(bind-key "Overwrite Delete Previous Character" #k"delete" :mode "Overwrite")
545(bind-key "Overwrite Delete Previous Character" #k"backspace" :mode "Overwrite")
546
547;;; Do up the printing characters ...
548(do ((i 33 (1+ i)))
549 ((= i 126))
550 (let ((key-event (hi:char-key-event (code-char i))))
551 (bind-key "Self Overwrite" key-event :mode "Overwrite")))
552
553(bind-key "Self Overwrite" #k"space" :mode "Overwrite")
554||#
555
556
557
558;;;; Comment bindings.
559
560(bind-key "Indent for Comment" #k"meta-;")
561(bind-key "Set Comment Column" #k"control-x ;")
562(bind-key "Kill Comment" #k"control-meta-;")
563(bind-key "Down Comment Line" #k"meta-n")
564(bind-key "Up Comment Line" #k"meta-p")
565(bind-key "Indent New Comment Line" #k"meta-j")
566(bind-key "Indent New Comment Line" #k"meta-linefeed")
567
568
569
570#||
571;;;; Word Abbrev Mode.
572
573(bind-key "Add Mode Word Abbrev" #k"control-x control-a")
574(bind-key "Add Global Word Abbrev" #k"control-x +")
575(bind-key "Inverse Add Mode Word Abbrev" #k"control-x control-h")
576(bind-key "Inverse Add Global Word Abbrev" #k"control-x \-")
577;; Removed in lieu of "Pop and Goto Mark".
578;;(bind-key "Abbrev Expand Only" #k"meta-space")
579(bind-key "Word Abbrev Prefix Mark" #k"meta-\"")
580(bind-key "Unexpand Last Word" #k"control-x u")
581
582(dolist (key (list #k"!" #k"~" #k"@" #k"#" #k";" #k"$" #k"%" #k"^" #k"&" #k"*"
583 #k"\-" #k"_" #k"=" #k"+" #k"[" #k"]" #k"(" #k")" #k"/" #k"|"
584 #k":" #k"'" #k"\"" #k"{" #k"}" #k"," #k"\<" #k"." #k"\>"
585 #k"`" #k"\\" #k"?" #k"return" #k"newline" #k"tab" #k"space"))
586 (bind-key "Abbrev Expand Only" key :mode "Abbrev"))
587
588||#
589
590
591
592;;;; Scribe Mode.
593
594#+scribe-mode
595(progn
596(dolist (key (list #k"]" #k")" #k"}" #k"\>"))
597 (bind-key "Scribe Insert Bracket" key :mode "Scribe"))
598
599;;GB (bind-key "Scribe Buffer File" #k"control-x c" :mode "Scribe")
600(bind-key "Select Scribe Warnings" #k"control-meta-C" :mode "Scribe")
601
602(bind-key "Insert Scribe Directive" #k"hyper-i" :mode "Scribe")
603)
604
605
606
607;;;; Mailer commands.
608#+mail-mode
609(progn
610;;; Clear everything user might hit to avoid getting the internal error
611;;; message about modifying read-only buffers.
612;;;
613(do-alpha-key-events (key-event :both)
614 (bind-key "Illegal" key-event :mode "Headers")
615 (bind-key "Illegal" key-event :mode "Message"))
616
617;;; Global.
618;;;
619(bind-key "Incorporate and Read New Mail" #k"control-x i")
620(bind-key "Send Message" #k"control-x m")
621(bind-key "Message Headers" #k"control-x r")
622
623;;; Both Headers and Message modes.
624;;;
625;;; The bindings in these two blocks should be the same, one for "Message" mode
626;;; and one for "Headers" mode.
627;;;
628(bind-key "Next Message" #k"meta-n" :mode "Message")
629(bind-key "Previous Message" #k"meta-p" :mode "Message")
630(bind-key "Next Undeleted Message" #k"n" :mode "Message")
631(bind-key "Previous Undeleted Message" #k"p" :mode "Message")
632(bind-key "Send Message" #k"s" :mode "Message")
633(bind-key "Send Message" #k"m" :mode "Message")
634(bind-key "Forward Message" #k"f" :mode "Message")
635(bind-key "Headers Delete Message" #k"k" :mode "Message")
636(bind-key "Headers Undelete Message" #k"u" :mode "Message")
637(bind-key "Headers Refile Message" #k"o" :mode "Message")
638(bind-key "List Mail Buffers" #k"l" :mode "Message")
639(bind-key "Quit Headers" #k"q" :mode "Message")
640(bind-key "Incorporate and Read New Mail" #k"i" :mode "Message")
641(bind-key "Beginning of Buffer" #k"\<" :mode "Message")
642(bind-key "End of Buffer" #k"\>" :mode "Message")
643;;;
644(bind-key "Next Message" #k"meta-n" :mode "Headers")
645(bind-key "Previous Message" #k"meta-p" :mode "Headers")
646(bind-key "Next Undeleted Message" #k"n" :mode "Headers")
647(bind-key "Previous Undeleted Message" #k"p" :mode "Headers")
648(bind-key "Send Message" #k"s" :mode "Headers")
649(bind-key "Send Message" #k"m" :mode "Headers")
650(bind-key "Forward Message" #k"f" :mode "Headers")
651(bind-key "Headers Delete Message" #k"k" :mode "Headers")
652(bind-key "Headers Undelete Message" #k"u" :mode "Headers")
653(bind-key "Headers Refile Message" #k"o" :mode "Headers")
654(bind-key "List Mail Buffers" #k"l" :mode "Headers")
655(bind-key "Quit Headers" #k"q" :mode "Headers")
656(bind-key "Incorporate and Read New Mail" #k"i" :mode "Headers")
657(bind-key "Beginning of Buffer" #k"\<" :mode "Headers")
658(bind-key "End of Buffer" #k"\>" :mode "Headers")
659
660
661;;; Headers mode.
662;;;
663(bind-key "Delete Message and Down Line" #k"d" :mode "Headers")
664(bind-key "Pick Headers" #k"h" :mode "Headers")
665(bind-key "Show Message" #k"space" :mode "Headers")
666(bind-key "Show Message" #k"." :mode "Headers")
667(bind-key "Reply to Message" #k"r" :mode "Headers")
668(bind-key "Expunge Messages" #k"!" :mode "Headers")
669(bind-key "Headers Help" #k"?" :mode "Headers")
670
671
672;;; Message mode.
673;;;
674(bind-key "Delete Message and Show Next" #k"d" :mode "Message")
675(bind-key "Goto Headers Buffer" #k"^" :mode "Message")
676(bind-key "Scroll Message" #k"space" :mode "Message")
677(bind-key "Scroll Message" #k"control-v" :mode "Message")
678(bind-key "Scroll Window Up" #k"backspace" :mode "Message")
679(bind-key "Scroll Window Up" #k"delete" :mode "Message")
680(bind-key "Reply to Message in Other Window" #k"r" :mode "Message")
681(bind-key "Edit Message Buffer" #k"e" :mode "Message")
682(bind-key "Insert Message Region" #k"hyper-y" :mode "Message")
683(bind-key "Message Help" #k"?" :mode "Message")
684
685
686;;; Draft mode.
687;;;
688(bind-key "Goto Headers Buffer" #k"hyper-^" :mode "Draft")
689(bind-key "Goto Message Buffer" #k"hyper-m" :mode "Draft")
690(bind-key "Deliver Message" #k"hyper-s" :mode "Draft")
691(bind-key "Deliver Message" #k"hyper-c" :mode "Draft")
692(bind-key "Insert Message Buffer" #k"hyper-y" :mode "Draft")
693(bind-key "Delete Draft and Buffer" #k"hyper-q" :mode "Draft")
694(bind-key "List Mail Buffers" #k"hyper-l" :mode "Draft")
695(bind-key "Draft Help" #k"hyper-?" :mode "Draft")
696);#+mail-mode
697
698
699
700;;;; Netnews.
701
702#+netnews-mode
703(progn
704;;; Clear everything user might hit to avoid getting the internal error
705;;; message about modifying read-only buffers.
706;;;
707(do-alpha-key-events (key-event :both)
708 (bind-key "Illegal" key-event :mode "News-Headers")
709 (bind-key "Illegal" key-event :mode "News-Message"))
710
711
712;;; Global Netnews bindings
713;;;
714(bind-key "Netnews Post Message" #k"C-x P")
715
716
717;;; Both News-Headers and News-Message modes.
718;;;
719;;; The bindings in these two blocks should be the same, one for "News-Message"
720;;; mode and one for "News-Headers" mode.
721;;;
722(bind-key "List All Groups" #k"l" :mode "News-Headers")
723(bind-key "Netnews Append to File" #k"a" :mode "News-Headers")
724(bind-key "Netnews Forward Message" #k"f" :mode "News-Headers")
725(bind-key "Netnews Go to Next Group" #k"g" :mode "News-Headers")
726(bind-key "Netnews Next Article" #k"n" :mode "News-Headers")
727(bind-key "Netnews Previous Article" #k"p" :mode "News-Headers")
728(bind-key "Netnews Quit Starting Here" #k"." :mode "News-Headers")
729(bind-key "Netnews Group Punt Messages" #k"G" :mode "News-Headers")
730(bind-key "Netnews Show Whole Header" #k"w" :mode "News-Headers")
731(bind-key "Netnews Reply to Sender in Other Window" #k"r" :mode "News-Headers")
732(bind-key "Netnews Reply to Group in Other Window" #k"R" :mode "News-Headers")
733;;;
734(bind-key "List All Groups" #k"l" :mode "News-Message")
735(bind-key "Netnews Append to File" #k"a" :mode "News-Message")
736(bind-key "Netnews Forward Message" #k"f" :mode "News-Message")
737(bind-key "Netnews Go to Next Group" #k"g" :mode "News-Message")
738(bind-key "Netnews Next Article" #k"n" :mode "News-Message")
739(bind-key "Netnews Previous Article" #k"p" :mode "News-Message")
740(bind-key "Netnews Quit Starting Here" #k"." :mode "News-Message")
741(bind-key "Netnews Group Punt Messages" #k"G" :mode "News-Message")
742(bind-key "Netnews Show Whole Header" #k"w" :mode "News-Message")
743(bind-key "Netnews Reply to Sender in Other Window" #k"r" :mode "News-Message")
744(bind-key "Netnews Reply to Group in Other Window" #k"R" :mode "News-Message")
745
746
747;;; News-Headers.
748;;;
749(bind-key "Netnews Exit" #k"q" :mode "News-Headers")
750(bind-key "Netnews Headers File Message" #k"o" :mode "News-Headers")
751(bind-key "Netnews Headers Scroll Window Down" #k"c-v" :mode "News-Headers")
752(bind-key "Netnews Headers Scroll Window Up" #k"m-v" :mode "News-Headers")
753(bind-key "Netnews Next Line" #k"C-n" :mode "News-Headers")
754(bind-key "Netnews Next Line" #k"Downarrow" :mode "News-Headers")
755(bind-key "Netnews Previous Line" #k"C-p" :mode "News-Headers")
756(bind-key "Netnews Previous Line" #k"Uparrow" :mode "News-Headers")
757(bind-key "Netnews Select Message Buffer" #k"hyper-m" :mode "News-Headers")
758(bind-key "Netnews Show Article" #k"space" :mode "News-Headers")
759
760
761;;; News-Message.
762;;;
763(bind-key "Insert Message Region" #k"Hyper-y" :mode "News-Message")
764(bind-key "Netnews Message File Message" #k"o" :mode "News-Message")
765(bind-key "Netnews Message Keep Buffer" #k"k" :mode "News-Message")
766(bind-key "Netnews Message Quit" #k"q" :mode "News-Message")
767(bind-key "Netnews Message Scroll Down" #k"space" :mode "News-Message")
768(bind-key "Netnews Goto Draft Buffer" #k"hyper-d" :mode "News-Message")
769(bind-key "Netnews Goto Headers Buffer" #k"^" :mode "News-Message")
770(bind-key "Netnews Goto Headers Buffer" #k"hyper-h" :mode "News-Message")
771(bind-key "Netnews Goto Post Buffer" #k"hyper-p" :mode "News-Message")
772(bind-key "Scroll Window Up" #k"backspace" :mode "News-Message")
773
774
775;;; Post.
776;;;
777(bind-key "Netnews Select Message Buffer" #k"hyper-m" :mode "Post")
778(bind-key "Netnews Deliver Post" #k"hyper-s" :mode "Post")
779(bind-key "Netnews Abort Post" #k"hyper-q" :mode "Post")
780(bind-key "Insert Message Buffer" #k"Hyper-y" :mode "Post")
781
782
783;;; News-Browse.
784
785(bind-key "Netnews Quit Browse" #k"q" :mode "News-Browse")
786(bind-key "Netnews Browse Add Group To File" #k"a" :mode "News-Browse")
787(bind-key "Netnews Browse Read Group" #k"space" :mode "News-Browse")
788(bind-key "Next Line" #k"n" :mode "News-Browse")
789(bind-key "Previous Line" #k"p" :mode "News-Browse")
790)
791
792
793;;;; Process (Shell).
794
795#+shell-mode
796(progn
797(bind-key "Shell" #k"control-meta-s")
798(bind-key "Confirm Process Input" #k"return" :mode "Process")
799(bind-key "Shell Complete Filename" #k"M-escape" :mode "Process")
800(bind-key "Interrupt Buffer Subprocess" #k"hyper-c" :mode "Process")
801(bind-key "Stop Buffer Subprocess" #k"hyper-z" :mode "Process")
802(bind-key "Quit Buffer Subprocess" #k"hyper-\\")
803(bind-key "Send EOF to Process" #k"hyper-d")
804
805(bind-key "Previous Interactive Input" #k"meta-p" :mode "Process")
806(bind-key "Search Previous Interactive Input" #k"meta-P" :mode "Process")
807(bind-key "Interactive Beginning of Line" #k"control-a" :mode "Process")
808(bind-key "Kill Interactive Input" #k"meta-i" :mode "Process")
809(bind-key "Next Interactive Input" #k"meta-n" :mode "Process")
810(bind-key "Reenter Interactive Input" #k"control-return" :mode "Process")
811)
812
813
814;;;; Bufed.
815
816#||
817(bind-key "Bufed" #k"control-x control-meta-b")
818(bind-key "Bufed Delete" #k"d" :mode "Bufed")
819(bind-key "Bufed Delete" #k"control-d" :mode "Bufed")
820(bind-key "Bufed Undelete" #k"u" :mode "Bufed")
821(bind-key "Bufed Expunge" #k"!" :mode "Bufed")
822(bind-key "Bufed Quit" #k"q" :mode "Bufed")
823(bind-key "Bufed Goto" #k"space" :mode "Bufed")
824(bind-key "Bufed Goto and Quit" #k"super-leftdown" :mode "Bufed")
825(bind-key "Bufed Save File" #k"s" :mode "Bufed")
826(bind-key "Next Line" #k"n" :mode "Bufed")
827(bind-key "Previous Line" #k"p" :mode "Bufed")
828
829
830(bind-key "Bufed Help" #k"?" :mode "Bufed")
831|#
832
833
834
835;;;; Dired.
836#||
837(progn
838(bind-key "Dired" #k"control-x control-meta-d")
839
840(bind-key "Dired Delete File and Down Line" #k"d" :mode "Dired")
841(bind-key "Dired Delete File with Pattern" #k"D" :mode "Dired")
842(bind-key "Dired Delete File" #k"control-d" :mode "Dired")
843(bind-key "Dired Delete File" #k"k" :mode "Dired")
844
845(bind-key "Dired Undelete File and Down Line" #k"u" :mode "Dired")
846(bind-key "Dired Undelete File with Pattern" #k"U" :mode "Dired")
847(bind-key "Dired Undelete File" #k"control-u" :mode "Dired")
848
849(bind-key "Dired Expunge Files" #k"!" :mode "Dired")
850(bind-key "Dired Update Buffer" #k"hyper-u" :mode "Dired")
851(bind-key "Dired View File" #k"space" :mode "Dired")
852(bind-key "Dired Edit File" #k"e" :mode "Dired")
853(bind-key "Dired Up Directory" #k"^" :mode "Dired")
854(bind-key "Dired Quit" #k"q" :mode "Dired")
855(bind-key "Dired Help" #k"?" :mode "Dired")
856
857(bind-key "Dired Copy File" #k"c" :mode "Dired")
858(bind-key "Dired Copy with Wildcard" #k"C" :mode "Dired")
859(bind-key "Dired Rename File" #k"r" :mode "Dired")
860(bind-key "Dired Rename with Wildcard" #k"R" :mode "Dired")
861
862(bind-key "Next Line" #k"n" :mode "Dired")
863(bind-key "Previous Line" #k"p" :mode "Dired")
864)
865||#
866
867
868;;;; View Mode.
869#||
870(progn
871(bind-key "View Scroll Down" #k"space" :mode "View")
872(bind-key "Scroll Window Up" #k"b" :mode "View")
873(bind-key "Scroll Window Up" #k"backspace" :mode "View")
874(bind-key "Scroll Window Up" #k"delete" :mode "View")
875(bind-key "View Return" #k"^" :mode "View")
876(bind-key "View Quit" #k"q" :mode "View")
877(bind-key "View Edit File" #k"e" :mode "View")
878(bind-key "View Help" #k"?" :mode "View")
879(bind-key "Beginning of Buffer" #k"\<" :mode "View")
880(bind-key "End of Buffer" #k"\>" :mode "View")
881)
882||#
883
884
885;;;; Lisp Library.
886
887#||
888(bind-key "Describe Pointer Library Entry" #k"leftdown" :mode "Lisp-Lib")
889(bind-key "Load Pointer Library Entry" #k"rightdown" :mode "Lisp-Lib")
890(bind-key "Describe Library Entry" #k"space" :mode "Lisp-Lib")
891(bind-key "Load Library Entry" #k"l" :mode "Lisp-Lib")
892(bind-key "Exit Lisp Library" #k"q" :mode "Lisp-Lib")
893(bind-key "Lisp Library Help" #k"?" :mode "Lisp-Lib")
894||#
895
896
897
898;;;; Completion mode.
899
900(dolist (c (command-bindings (getstring "Self Insert" *command-names*)))
901 (bind-key "Completion Self Insert" (car c) :mode "Completion"))
902
903(bind-key "Completion Self Insert" #k"space" :mode "Completion")
904(bind-key "Completion Self Insert" #k"tab" :mode "Completion")
905(bind-key "Completion Self Insert" #k"return" :mode "Completion")
906(bind-key "Completion Self Insert" #k"linefeed" :mode "Completion")
907
908(bind-key "Completion Complete Word" #k"end" :mode "Completion")
909(bind-key "Completion Rotate Completions" #k"meta-end" :mode "Completion")
910
911
912;;;; Caps-Lock mode.
913
914(do-alpha-key-events (key-event :lower)
915 (bind-key "Self Insert Caps Lock" key-event :mode "CAPS-LOCK"))
916
917
918
919;;;; I-Search mode.
920;;;;
921;;;; Anything that's not explicitly bound here will exit i-search.
922
923(dotimes (n hi::hemlock-char-code-limit)
924 (when (standard-char-p (code-char n))
925 (let ((key (make-key-event n)))
926 (bind-key "I-Search Self Insert" key :mode "I-Search"))))
927
928(bind-key "I-Search Repeat Forward" #k"control-s" :mode "I-Search")
929(bind-key "I-Search Repeat Backward" #k"control-r" :mode "I-Search")
930(bind-key "I-Search Backup" #k"backspace" :mode "I-Search")
931(bind-key "I-Search Backup" #k"delete" :mode "I-Search")
932(bind-key "I-Search Abort" #k"control-g" :mode "I-Search")
933(bind-key "I-Search Abort" #k"control-G" :mode "I-Search")
934(bind-key "I-Search Exit or Search" #k"escape" :mode "I-Search")
935(bind-key "I-Search Yank Word" #k"control-w" :mode "I-Search")
936(bind-key "Quoted Insert" #k"control-q" :mode "I-Search")
937
938
939;;;; Query/Replace mode.
940;;;;
941;;;; Anything that's not explicitly bound here will exit i-search.
942
943(bind-key "Query/Replace This" #k"y" :mode "Query/Replace")
944(bind-key "Query/Replace This" #k"space" :mode "Query/Replace")
945(bind-key "Query/Replace Skip" #k"n" :mode "Query/Replace")
946(bind-key "Query/Replace Skip" #k"backspace" :mode "Query/Replace")
947(bind-key "Query/Replace Skip" #k"delete" :mode "Query/Replace")
948(bind-key "Query/Replace All" #k"!" :mode "Query/Replace")
949(bind-key "Query/Replace Last" #k"." :mode "Query/Replace")
950(bind-key "Query/Replace Exit" #k"q" :mode "Query/Replace")
951(bind-key "Query/Replace Exit" #k"escape" :mode "Query/Replace")
952(bind-key "Query/Replace Abort" #k"control-g" :mode "Query/Replace")
953(bind-key "Query/Replace Abort" #k"control-G" :mode "Query/Replace")
954(bind-key "Query/Replace Help" #k"h" :mode "Query/Replace")
955(bind-key "Query/Replace Help" #k"?" :mode "Query/Replace")
956(bind-key "Query/Replace Help" #k"home" :mode "Query/Replace")
957(bind-key "Query/Replace Help" #k"control-_" :mode "Query/Replace")
958
959;;;; Logical characters.
960
961(setf (logical-key-event-p #k"control-g" :abort) t)
962(setf (logical-key-event-p #k"y" :yes) t)
963(setf (logical-key-event-p #k"space" :yes) t)
964(setf (logical-key-event-p #k"n" :no) t)
965(setf (logical-key-event-p #k"backspace" :no) t)
966(setf (logical-key-event-p #k"delete" :no) t)
967(setf (logical-key-event-p #k"home" :help) t)
968(setf (logical-key-event-p #k"h" :help) t)
969(setf (logical-key-event-p #k"?" :help) t)
970(setf (logical-key-event-p #k"control-_" :help) t)
971(setf (logical-key-event-p #k"return" :confirm) t)
972(setf (logical-key-event-p #k"control-q" :quote) t)
973(setf (logical-key-event-p #k"k" :keep) t)
974(setf (logical-key-event-p #k"y" :y) t)
975(setf (logical-key-event-p #k"Y" :y) t)
976(setf (logical-key-event-p #k"n" :n) t)
977(setf (logical-key-event-p #k"N" :n) t)
978
Note: See TracBrowser for help on using the repository browser.