source: trunk/source/cocoa-ide/hemlock/src/bindings.lisp @ 14812

Last change on this file since 14812 was 14812, checked in by svspire, 10 years ago

Invert sense of arg in "Exchange Point and Mark" to be more like Fred.
Add "I-Search Yank Selection" plus (commented-out) binding to control-y
to provide Fred-like capability to select a string then control-s control-y
control-s to search for other instances of that string.
Left binding commented out for people who depend on current binding of control-y.

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