Commit | Line | Data |
---|---|---|
a933dad1 DL |
1 | File: edt-user.doc --- EDT Emulation User Instructions |
2 | ||
3 | For GNU Emacs 19 | |
4 | ||
0a33da51 GM |
5 | Copyright (C) 1986, 1992, 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, |
6 | 2005, 2006, 2007 Free Software Foundation, Inc. | |
a933dad1 | 7 | |
09e5121d EZ |
8 | Author: Kevin Gallagher <Kevin.Gallagher@boeing.com> |
9 | Maintainer: Kevin Gallagher <Kevin.Gallagher@boeing.com> | |
a933dad1 DL |
10 | Keywords: emulations |
11 | ||
12 | This file is part of GNU Emacs. | |
13 | ||
4f6e7915 GM |
14 | GNU Emacs is free software; you can redistribute it and/or modify it under the |
15 | terms of the GNU General Public License as published by the Free Software | |
fca4a5de | 16 | Foundation; either version 3, or (at your option) any later version. |
a933dad1 | 17 | |
4f6e7915 GM |
18 | GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY |
19 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A | |
20 | PARTICULAR PURPOSE. See the GNU General Public License for more details. | |
a933dad1 | 21 | |
4f6e7915 GM |
22 | You should have received a copy of the GNU General Public License along with |
23 | GNU Emacs; see the file COPYING. If not, write to the Free Software | |
364c38d3 | 24 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
a933dad1 DL |
25 | |
26 | ============================================================================ | |
27 | \f | |
28 | I. OVERVIEW: | |
29 | ||
4f6e7915 GM |
30 | This is Version 4.0 of the EDT Emulation for Emacs 19 and above. |
31 | It comes with special functions which replicate nearly all of EDT's | |
32 | keypad mode behavior. It sets up default keypad and function key | |
33 | bindings which closely match those found in EDT. Support is | |
34 | provided so that users may reconfigure most keypad and function key | |
35 | bindings to their own liking. | |
36 | ||
37 | NOTE: Version 4.0 contains several enhancements. See the | |
38 | Enhancements section below for the details. | |
39 | ||
40 | ||
41 | Quick Start: | |
42 | ||
177c0ea7 | 43 | To start the EDT Emulation, first start Emacs and then enter |
4f6e7915 GM |
44 | |
45 | M-x edt-emulation-on | |
177c0ea7 | 46 | |
4f6e7915 GM |
47 | to begin the emulation. After initialization is complete, the |
48 | following message will appear below the status line informing you | |
49 | that the emulation has been enabled: "Default EDT keymap active". | |
50 | ||
51 | You can have the EDT Emulation start up automatically, each time | |
52 | you initiate a GNU Emacs session, by adding the following line to | |
53 | your .emacs file: | |
54 | ||
55 | (add-hook term-setup-hook 'edt-emulation-on) | |
56 | ||
57 | IMPORTANT: Be sure to read the rest of this file. It contains very | |
58 | useful information on how the EDT Emulation behaves and how | |
59 | to customize it to your liking. | |
a933dad1 DL |
60 | |
61 | The EDT emulation consists of the following files: | |
62 | ||
4f6e7915 GM |
63 | edt-user.doc - User Instructions and Sample Customization File |
64 | edt.el - EDT Emulation Functions and Default Configuration | |
65 | edt-lk201.el - Built-in support for DEC LK-201 Keyboards | |
66 | edt-vt100.el - Built-in support for DEC VT-100 (and above) terminals | |
67 | edt-pc.el - Built-in support for PC 101 Keyboards under MS-DOS | |
177c0ea7 | 68 | edt-mapper.el - Create an EDT LK-201 Map File for Keyboards Without |
4f6e7915 GM |
69 | Built-in Support |
70 | ||
71 | Enhancements: | |
72 | ||
73 | Version 4.0 contains the following enhancements: | |
74 | ||
75 | 1. Scroll margins at the top and bottom of the window are now | |
76 | supported. (The design was copied from tpu-extras.el.) By | |
77 | default, this feature is enabled with the top margin set to | |
78 | 10% of the window and the bottom margin set to 15% of the | |
79 | window. To change these settings, you can invoke the function | |
80 | edt-set-scroll-margins in your .emacs file. For example, the | |
81 | following line | |
82 | ||
83 | (edt-set-scroll-margins "20%" "25%") | |
177c0ea7 | 84 | |
4f6e7915 GM |
85 | sets the top margin to 20% of the window and the bottom margin |
86 | to 25% of the window. To disable this feature, set each | |
87 | margin to 0%. You can also invoke edt-set-scroll-margins | |
88 | interactively while EDT Emulation is active to change the | |
89 | settings for that session. | |
90 | ||
91 | NOTE: Another way to set the scroll margins is to use the | |
92 | Emacs customization feature (not available in Emacs 19) to set | |
93 | the following two variables directly: | |
177c0ea7 | 94 | |
4f6e7915 GM |
95 | edt-top-scroll-margin and edt-bottom-scroll-margin |
96 | ||
97 | Enter the Emacs `customize' command. First select the Editing | |
98 | group and then select the Emulations group. Finally, select | |
99 | the Edt group and follow the directions. | |
177c0ea7 | 100 | |
4f6e7915 GM |
101 | 2. The SUBS command is now supported and bound to GOLD-Enter by |
102 | default. (This design was copied from tpu-edt.el.) Note, in | |
103 | earlier versions of EDT Emulation, GOLD-Enter was assigned to | |
104 | the Emacs function `query-replace'. The binding of | |
105 | `query-replace' has been moved to GOLD-/. If you prefer to | |
106 | restore `query-replace' to GOLD-Enter, then use an EDT user | |
107 | customization file, edt-user.el, to do this. See edt-user.doc | |
108 | for details. | |
109 | ||
110 | 3. EDT Emulation now also works in XEmacs, including the | |
111 | highlighting of selected text. | |
112 | ||
113 | 4. If you access a workstation using an X Server, observe that | |
114 | the initialization file generated by edt-mapper.el will now | |
115 | contain the name of the X Server vendor. This is a | |
116 | convenience for those who have access to their Unix account | |
117 | from more than one type of X Server. Since different X | |
118 | Servers typically require different EDT emulation | |
119 | initialization files, edt-mapper.el will now generate these | |
120 | different initialization files and save them with different | |
121 | names. Then, the correct initialization file for the | |
122 | particular X server in use is loaded correctly automatically. | |
123 | ||
124 | 5. Also, edt-mapper.el is now capable of binding an ASCII key | |
125 | sequence, providing the ASCII key sequence prefix is already | |
126 | known by Emacs to be a prefix. As a result of providing this | |
127 | support, some terminal/keyboard/window system configurations, | |
128 | which don't have a complete set of sensible function key | |
129 | bindings built into Emacs in `function-key-map', can still be | |
130 | configured for use with EDT Emulation. (Note: In a few rare | |
131 | circumstances this does not work properly. In particular, it | |
132 | does not work if a subset of the leading ASCII characters in a | |
133 | key sequence are recognized by Emacs as having an existing | |
134 | binding. For example, if the keypad 7 (KP-7) key generates | |
135 | the sequence \"<ESC>Ow\" and \"<ESC>O\" is already bound to a | |
136 | function, pressing KP-7 when told to do so by edt-mapper.el | |
137 | will result in edt-mapper.el incorrectly mapping \"<ESC>O\" to | |
138 | KP-7 and \"w\" to KP-8. If something like this happens to | |
139 | you, it is probably a bug in the support for your keyboard | |
140 | within Emacs OR a bug in the Unix termcap/terminfo support for | |
141 | your terminal OR a bug in the terminal emulation software you | |
142 | are using.) | |
143 | ||
144 | 6. The edt-quit function (bound to GOLD-q by default) has been | |
145 | modified to warn the user when file-related buffer | |
146 | modifications exist. It now cautions the user that those | |
147 | modifications will be lost if the user quits without saving | |
148 | those buffers. | |
149 | ||
150 | ||
151 | Goals: | |
152 | ||
153 | 1. Emulate EDT Keypad Mode commands closely so that current EDT users | |
154 | will find that it easy and comfortable to use GNU Emacs with a | |
155 | small learning curve; | |
177c0ea7 | 156 | |
4f6e7915 GM |
157 | 2. Make it easy for a user to customize EDT emulation key bindings |
158 | without knowing much about Emacs Lisp; | |
a933dad1 DL |
159 | |
160 | 3. Make it easy to switch between the original EDT default bindings | |
4f6e7915 GM |
161 | and the user's customized EDT bindings, without having to exit |
162 | Emacs. | |
a933dad1 | 163 | |
4f6e7915 | 164 | 4. Provide support for some TPU/EVE functions not supported in EDT. |
a933dad1 DL |
165 | |
166 | 5. Provide an easy way to restore ALL original Emacs key bindings, | |
167 | just as they existed before the EDT emulation was first invoked. | |
177c0ea7 | 168 | |
4f6e7915 GM |
169 | 6. Support GNU Emacs 19 and higher. (GNU Emacs 18 and below is no |
170 | longer supported.) XEmacs 19, and above, is also supported. | |
a933dad1 | 171 | |
4f6e7915 GM |
172 | 7. Supports highlighting of marked text within the EDT emulation on |
173 | all platforms on which Emacs supports highlighting of marked text. | |
a933dad1 | 174 | |
4f6e7915 GM |
175 | 8. Handle terminal configuration interactively for most terminal |
176 | configurations, when the emulation is invoked for the first time. | |
a933dad1 DL |
177 | |
178 | 9. Support a PC AT keyboard under MS-DOS. | |
4f6e7915 | 179 | |
a933dad1 DL |
180 | \f |
181 | II. TERMINALS/KEYBOARDS SUPPORTED: | |
182 | ||
4f6e7915 GM |
183 | Keyboards used under a Window System are supported via the edt-mapper function. |
184 | The first time you invoke the emulation under a window system, the edt-mapper | |
185 | function is run automatically and the user is prompted to identify which keys | |
186 | the emulation is to use for the standard keypad and function keys EDT expects | |
187 | (e.g., PF1, PF2, KP0, KP1, F1, F2, etc.). This configuration is saved to disk | |
188 | read each time the emulation is invoked. | |
189 | ||
190 | In character oriented connections not running a window manager, built-in | |
191 | support for the following terminals/keyboards is provided: | |
a933dad1 | 192 | |
4f6e7915 GM |
193 | (1) DEC VT-100 series and higher. This includes well behaved VT clones and |
194 | emulators. If you are using a VT series terminal, be sure that the term | |
177c0ea7 | 195 | environment variable is set properly before invoking emacs. |
4f6e7915 | 196 | |
177c0ea7 | 197 | (2) PC AT keyboard under MS-DOS. |
a933dad1 DL |
198 | |
199 | Be sure to read the SPECIAL NOTES FOR SOME PLATFORMS sections to see if those | |
200 | notes apply to you. | |
201 | ||
202 | \f | |
203 | III. STARTING THE EDT EMULATION: | |
204 | ||
205 | Start up GNU Emacs and enter "M-x edt-emulation-on" to begin the emulation. | |
206 | After initialization is complete, the following message will appear below the | |
207 | status line informing you that the emulation has been enabled: | |
208 | ||
209 | Default EDT keymap active | |
210 | ||
211 | You can have the EDT Emulation start up automatically, each time you initiate | |
212 | a GNU Emacs session, by adding the following line to your .emacs file: | |
213 | ||
4f6e7915 | 214 | (add-hook term-setup-hook 'edt-emulation-on) |
a933dad1 DL |
215 | |
216 | A reference sheet is included (later on) listing the default EDT Emulation key | |
217 | bindings. This sheet is also accessible on line from within Emacs by pressing | |
218 | PF2, GOLD H, or HELP (when in the EDT Default Mode). | |
219 | ||
220 | It is easy to customize key bindings in the EDT Emulation. (See CUSTOMIZING | |
221 | section, below.) Customizations are placed in a file called edt-user.el. (A | |
222 | sample edt-user.el file can be found in the CUSTOMIZING section.) If | |
223 | edt-user.el is found in your GNU Emacs load path during EDT Emulation | |
224 | initialization, then the following message will appear below the status line | |
225 | indicating that the emulation has been enabled, enhanced by your own | |
226 | customizations: | |
227 | ||
228 | User EDT custom keymap active | |
229 | ||
230 | Once enabled, it is easy to switch back and forth between your customized EDT | |
4f6e7915 GM |
231 | Emulation key bindings and the default EDT Emulation key bindings. (See the |
232 | sample edt-user.el file below. Look at the binding to GOLD Z.) It is also | |
233 | easy to turn off the emulation (via the command edt-emulation-off). Doing so | |
234 | completely restores the original key bindings in effect just prior to invoking | |
235 | the emulation. | |
236 | ||
237 | Emacs binds keys to ASCII control characters and so does the real EDT. Where | |
238 | EDT key bindings and GNU Emacs key bindings conflict, the default GNU Emacs key | |
239 | bindings are retained by the EDT emulation by default. If you are a diehard | |
240 | EDT user you may not like this. The CUSTOMIZING section explains how to change | |
241 | this so that the EDT bindings to ASCII control characters override the default | |
242 | Emacs bindings. | |
a933dad1 DL |
243 | |
244 | \f | |
245 | IV. SPECIAL NOTES FOR SOME PLATFORMS: | |
246 | ||
247 | Sun Workstations running X: | |
248 | ||
4f6e7915 GM |
249 | Some earlier Sun keyboards do not have arrow keys separate from the keypad |
250 | keys. It is difficult to emulate the full EDT keypad and still retain use | |
251 | of the arrow keys on such keyboards. | |
252 | ||
253 | The Sun Type 5 and other more recent Sun keyboards, however, do have | |
254 | separate arrow keys. This makes them candidates for setting up a | |
177c0ea7 | 255 | reasonable EDT keypad emulation. |
a933dad1 | 256 | |
4f6e7915 GM |
257 | Depending upon the configuration of the version of X installed on your |
258 | system, you may find the default X keynames for the keypad keys don't | |
259 | permit Emacs to interpret some or all the keypad keys as something other | |
260 | than arrow keys, numeric keys, Home, PgUP, etc. Both Sun and HP have been | |
261 | particularly guilty of making bizarre keysym assignments to the keypad | |
177c0ea7 | 262 | keys. |
4f6e7915 GM |
263 | |
264 | In most cases, the X Windows command, xmodmap, can be used to correct the | |
265 | problem. Here's a sample .xmodmaprc file which corrects this problem on | |
266 | one Sun workstation configuration using an older SunOS release configured | |
267 | with a Sun Type 5 keyboard: | |
a933dad1 DL |
268 | |
269 | ! File: .xmodmaprc | |
270 | ! | |
271 | ! Set up Sun Type 5 keypad for use with the GNU Emacs EDT Emulation | |
272 | ! | |
273 | keycode 53 = KP_Divide | |
274 | keycode 54 = KP_Multiply | |
275 | keycode 57 = KP_Decimal | |
276 | keycode 75 = KP_7 | |
277 | keycode 76 = KP_8 | |
278 | keycode 77 = KP_9 | |
279 | keycode 78 = KP_Subtract | |
280 | keycode 97 = KP_Enter | |
281 | keycode 98 = KP_4 | |
282 | keycode 99 = KP_5 | |
283 | keycode 100 = KP_6 | |
284 | keycode 101 = KP_0 | |
285 | keycode 105 = F24 | |
286 | keycode 119 = KP_1 | |
287 | keycode 120 = KP_2 | |
288 | keycode 121 = KP_3 | |
289 | keycode 132 = KP_Add | |
290 | ||
4f6e7915 GM |
291 | If edt-mapper.el does not recognize your keypad keys as unique keys, use |
292 | the command | |
293 | ||
294 | xmodmap -pke | |
295 | ||
296 | to get a listing of the actual key codes and the keysyms mapped to them | |
297 | and then generate you own custom .xmodmaprc similar to the one above. | |
298 | ||
299 | Next, feed .xmodmaprc to the xmodmap command and all the Sun Type 5 keypad | |
300 | keys will now be configurable for the emulation of an LK-201 keypad (less | |
301 | the comma key). In this example, the line | |
a933dad1 DL |
302 | |
303 | keycode 105 = F24 | |
304 | ||
4f6e7915 GM |
305 | changes the X Windows name of the keypad NumLock key to be known |
306 | internally as the F24 key. Doing so permits it to be configured to behave | |
177c0ea7 | 307 | as the PF1 (Gold) key. |
4f6e7915 GM |
308 | |
309 | The side effect of this change is that you will no longer have a NumLock | |
310 | key. If you are using other software under X which requires a NumLock | |
311 | key, then examine your keyboard and look for one you don't use and | |
312 | redefine it to be the NumLock key. Basically, you need to clear the | |
313 | NumLock key from being assigned as a modifier, assign it to the key of | |
314 | your choice, and then add it back as a modifier. (See the "General Notes | |
315 | on Using NumLock for the PF1 Key on a Unix System" section below for | |
316 | further help on how to do this.) | |
a933dad1 DL |
317 | |
318 | PC users running MS-DOS: | |
319 | ||
320 | By default, F1 is configured to emulate the PF1 (GOLD) key. But NumLock | |
4f6e7915 GM |
321 | can be used instead if you load a freeware TSR distributed with MS-Kermit, |
322 | call gold.com. This was once distributed in a file called gold22.zip and | |
323 | came with the source code as well as a loadable binary image. (See | |
324 | edt-pc.el in the Emacs lisp/emulation directory for more information.) | |
a933dad1 DL |
325 | |
326 | PC users running GNU/Linux: | |
327 | ||
4f6e7915 GM |
328 | The default X server configuration varies from distribution to |
329 | distribution and release to release of GNU/Linux. If your system fails to | |
330 | recognize the keypad keys as distinct keys, change the NumLock state, | |
331 | turning it on or off, as the case may be, then try again. If this doesn't | |
332 | solve your problem, you may have to modify the X keysym mappings with | |
333 | xmodmap. | |
334 | ||
335 | On one distribution on an Intel PC, the following .xmodmaprc set things up | |
177c0ea7 | 336 | nicely. |
a933dad1 DL |
337 | |
338 | ! File: .xmodmaprc | |
339 | ! | |
177c0ea7 | 340 | ! Set up PC keypad under GNU/Linux for the GNU Emacs EDT Emulation |
a933dad1 DL |
341 | ! |
342 | clear mod2 | |
343 | keycode 77 = F12 | |
344 | keycode 96 = Num_Lock Pointer_EnableKeys | |
345 | add mod2 = Num_Lock | |
346 | ||
4f6e7915 GM |
347 | In this example, after feeding the file to the xmodmap command, the PC |
348 | NumLock keypad key will be configurable for the emulation of the PF1 key. | |
349 | The PC keypad can now emulate an LK-201 keypad (less the comma key), the | |
350 | standard keyboard supplied with DEC terminals VT-200 and above. This | |
351 | .xmodmaprc file switches the role of the F12 and NumLock keys. It has | |
352 | been tested on RedHat GNU/Linux 5.2. Other versions of GNU/Linux may | |
353 | require different keycodes. (See the "General Notes on Using NumLock for | |
354 | the PF1 Key on a Unix System" section below for further help on how to do | |
355 | this.) | |
356 | ||
357 | NOTE: Remember, it may be necessary to have NumLock in one position (ON) | |
358 | or the other (OFF) for the PC keypad to emulate the LK-201 keypad | |
359 | properly. | |
a933dad1 DL |
360 | \f |
361 | General Notes on Using NumLock for the PF1 Key on a Unix System: | |
362 | ||
363 | Making the physical NumLock key available for use in the EDT | |
364 | Emulation requires some modification to the default X Window | |
365 | settings. Since the keycode assignments vary from system to | |
366 | system, some investigation is needed to see how to do this on | |
367 | a particular system. | |
368 | ||
4f6e7915 GM |
369 | You will need to look at the output generated by xmodmap invoked with the |
370 | "-pm" switch. examined. For example, on RedHat GNU/Linux 5.2 on a PC, we | |
371 | get the following output when running xmodmap. | |
a933dad1 DL |
372 | |
373 | "xmodmap -pm" yields: | |
374 | ||
375 | xmodmap: up to 2 keys per modifier, (keycodes in parentheses): | |
376 | ||
377 | shift Shift_L (0x32), Shift_R (0x3e) | |
378 | lock Caps_Lock (0x42) | |
379 | control Control_L (0x25), Control_R (0x6d) | |
380 | mod1 Alt_L (0x40), Alt_R (0x71) | |
381 | mod2 Num_Lock (0x4d) | |
382 | mod3 | |
383 | mod4 | |
384 | mod5 Scroll_Lock (0x4e) | |
385 | ||
386 | ||
387 | Note that Num_Lock is assigned to the modifier mod2. This is | |
388 | what hides Num_Lock from being seen by Emacs. | |
389 | ||
390 | Now, "xmodmap -pke" yields: | |
391 | ||
392 | . | |
393 | . | |
394 | . | |
395 | keycode 77 = Num_Lock Pointer_EnableKeys | |
396 | . | |
397 | . | |
398 | . | |
399 | keycode 96 = F12 | |
400 | . | |
401 | . | |
402 | . | |
403 | ||
404 | So, in RedHat GNU/Linux 5.2 on a PC, Num_Lock generates keycode | |
405 | 77. The following steps are taken: | |
406 | ||
407 | 1. clear the assignment of Num_Lock to mod2; | |
408 | 2. swap the keycodes assigned to F12 and Num_Lock; | |
409 | 3. assign Num_Lock back to mod2. | |
410 | ||
411 | The .xmodmaprc file looks like this: | |
412 | ||
413 | ! File: .xmodmaprc | |
414 | ! | |
177c0ea7 | 415 | ! Set up PC keypad under GNU/Linux for the GNU Emacs EDT Emulation |
a933dad1 DL |
416 | ! |
417 | clear mod2 | |
418 | keycode 77 = F12 | |
419 | keycode 96 = Num_Lock Pointer_EnableKeys | |
420 | add mod2 = Num_Lock | |
421 | ||
422 | So, after executing "xmodmap .xmodmaprc", a press of the physical | |
423 | F12 key looks like a Num_Lock keypress to X. Also, a press of the | |
424 | physical NumLock key looks like a press of the F12 key to X. | |
425 | ||
426 | Now, edt-mapper.el will see "f12" when the physical NumLock key | |
427 | is pressed, allowing the NumLock key to be used as the EDT PF1 | |
177c0ea7 | 428 | (Gold) key. |
a933dad1 DL |
429 | \f |
430 | V. HOW DOES THIS EDT EMULATION DIFFER FROM REAL EDT?: | |
431 | ||
432 | In general, you will find that this emulation of EDT replicates most, but not | |
433 | all, of EDT's most used Keypad Mode editing functions and behavior. It is not | |
434 | perfect, but most EDT users who have tried the emulation agree that it is | |
435 | quite good enough to make it easy for die-hard EDT users to move over to using | |
177c0ea7 | 436 | GNU Emacs. |
a933dad1 DL |
437 | |
438 | Here's a list of the most important differences between EDT and this GNU Emacs | |
439 | EDT Emulation. The list is short but you must be aware of these differences | |
440 | if you are to use the EDT Emulation effectively. | |
441 | ||
442 | 1. Entering repeat counts works a little differently than in EDT. | |
443 | ||
444 | EDT allows users to enter a repeat count before entering a command that | |
4f6e7915 GM |
445 | accepts repeat counts. For example, when using the real EDT, pressing |
446 | these three keys in sequence, GOLD 5 KP1, will move the cursor in the | |
447 | current direction 5 words. This does NOT work in Emacs! | |
a933dad1 | 448 | |
4f6e7915 GM |
449 | Emacs provides two ways to enter repeat counts and neither involves using |
450 | the GOLD key. First, repeat counts can be entered in Emacs by using the | |
a933dad1 | 451 | ESC key. For example, pressing these keys in sequence, ESC 1 0 KP1, will |
4f6e7915 GM |
452 | move the cursor in the current direction 10 words. Second, Emacs provides |
453 | another command called universal-argument that can be used to do the same | |
454 | thing. Normally, in Emacs has this bound to C-u. | |
a933dad1 | 455 | |
4f6e7915 | 456 | 2. EDT's line mode commands and nokeypad mode commands are NOT supported |
a933dad1 DL |
457 | (with one important exception; see item 8 in the Highlights section |
458 | below). Although, at first, this may seem like a big omission, the set of | |
459 | built-in Emacs commands provides a much richer set of capabilities which | |
460 | more than make up for this omission. | |
461 | ||
4f6e7915 GM |
462 | To enter Emacs commands not bound to keys, you can press GOLD KP7 or the DO |
463 | key. Emacs will display its own command prompt "M-x". This stands for the | |
464 | keypress Meta-x, where Meta is a special shift key. The Alt key is often | |
465 | mapped to behave as a Meta key. So, you can also invoke this prompt by | |
466 | pressing Meta-x. Typing the sequence "ESC x" will also invoke the prompt. | |
a933dad1 | 467 | |
4f6e7915 GM |
468 | 3. Selected text is highlighted ONLY on systems where Emacs supports the |
469 | highlighting of text. | |
a933dad1 | 470 | |
4f6e7915 | 471 | 4. Just like in TPU/EVE, the ENTER key is NOT used to terminate input when the |
a933dad1 | 472 | editor prompts you for input. The RETURN key is used, instead. (KP4 and |
4f6e7915 GM |
473 | KP5 (the direction keys) do terminate input for the FIND command, just like |
474 | in EDT, however.) | |
a933dad1 DL |
475 | |
476 | ||
477 | \f | |
478 | ||
479 | VI. SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE | |
480 | ORIGINAL GNU EMACS EDT EMULATION: | |
481 | ||
482 | 1. The EDT define key command is supported (edt-define-key) and is bound to | |
483 | C-k in the default EDT mode when EDT control sequence bindings are enabled | |
484 | or one of the sample edt-user.el customization files is used. The TPU/EVE | |
485 | learn command is supported but not bound to a key in the default EDT mode | |
4f6e7915 | 486 | but is bound in the sample edt-user.el file. |
a933dad1 DL |
487 | |
488 | Unlike the TPU/EVE learn command, which uses one key to begin the learn | |
489 | sequence, C-l, and another command to remember the sequence, C-r, this | |
490 | version of the learn command (edt-learn) serves as a toggle to both begin | |
491 | and to remember the learn sequence. | |
492 | ||
493 | Many users who change the meaning of a key with the define key and the | |
494 | learn commands, would like to be able to restore the original key binding | |
495 | without having to quit and restart emacs. So a restore key command is | |
496 | provided to do just that. When invoked, it prompts you to press the key | |
497 | to which you wish the last replaced key definition restored. It is bound | |
498 | to GOLD C-k in the default EDT mode when EDT control sequence bindings are | |
499 | enabled or one of the sample edt-user.el customization files is used. | |
500 | ||
177c0ea7 | 501 | 2. Direction support is fully supported. |
a933dad1 | 502 | |
4f6e7915 GM |
503 | 3. All original Emacs bindings are fully restored when EDT emulation is turned |
504 | off. So, if a fellow worker comes over to your terminal to help you with a | |
505 | software problem, for example, and is completely confused by your EDT | |
506 | emulation bindings, just enter the command, edt-emulation-off, at the M-x | |
507 | prompt and the original Emacs bindings will be restored. To resume the EDT | |
508 | emulation, just enter edt-emulation-on. | |
a933dad1 DL |
509 | |
510 | 4. User custom EDT bindings are kept separate from the default EDT bindings. | |
511 | One can toggle back and forth between the custom EDT bindings and default | |
512 | EDT bindings. | |
513 | ||
514 | 5. The Emacs functions in edt.el attempt to emulate, where practical, the | |
515 | exact behavior of the corresponding EDT keypad mode commands. In a few | |
516 | cases, the emulation is not exact, but we hope you will agree it is close | |
517 | enough. In a very few cases, we chose to use the Emacs way of handling | |
518 | things. As mentioned earlier, we do not emulate the EDT SUBS command. | |
519 | Instead, we chose to use the Emacs query-replace function, which we find | |
520 | to be easier to use. | |
521 | ||
522 | 6. Emacs uses the regexp assigned to page-delimiter to determine what marks a | |
523 | page break. This is normally "^\f", which causes the edt-page command to | |
524 | ignore form feeds not located at the beginning of a line. To emulate the | |
525 | EDT PAGE command exactly, page-delimiter is set to "\f" when EDT emulation | |
526 | is turned on, and restored to "^\f" when EDT emulation is turned off. | |
527 | But, since some users prefer the Emacs definition of a page break, or may | |
528 | wish to preserve a customized definition of page break, one can override | |
529 | the EDT definition by placing | |
530 | ||
531 | (setq edt-keep-current-page-delimiter t) | |
532 | ||
4f6e7915 GM |
533 | in your .emacs file. Or, you can used the Emacs customize command |
534 | to change its setting. | |
a933dad1 DL |
535 | |
536 | 7. The EDT definition of a section of a terminal window is hardwired to be 16 | |
537 | lines of its one-and-only 24-line window (the EDT SECT command bound to | |
538 | KP8). That's two-thirds of the window at a time. Since Emacs, like | |
539 | TPU/EVE, can handle multiple windows of sizes of other than 24 lines, the | |
540 | definition of section used here has been modified to two-thirds of the | |
541 | current window. (There is also an edt-scroll-window function which you | |
542 | may prefer over the SECT emulation.) | |
543 | ||
544 | 8. Cursor movement and deletion involving word entities is identical to EDT. | |
545 | This, above all else, gives the die-hard EDT user a sense of being at | |
546 | home. Also, an emulation of EDT's SET ENTITY WORD command is provided, | |
547 | for those users who like to customize movement by a word at a time to | |
548 | their own liking. | |
549 | ||
550 | 9. EDT's FIND and FNDNXT are supported. | |
551 | ||
4f6e7915 | 552 | 10. EDT's APPEND, REPLACE, and SUBS commands are supported. |
a933dad1 DL |
553 | |
554 | 11. CHNGCASE is supported. It works on individual characters or selected | |
555 | text, if SELECT is active. In addition, two new commands are provided: | |
556 | edt-lowercase and edt-uppercase. They work on individual WORDS or | |
557 | selected text, if SELECT is active. | |
558 | ||
559 | 12. Form feed and tab insert commands are supported. | |
560 | ||
561 | 13. A new command, edt-duplicate-word, is provided. If you experiment with | |
562 | it, you might find it to be surprisingly useful and may wonder how you | |
563 | ever got along without it! It is assigned to C-j in the sample | |
564 | edt-user.el customization files. | |
565 | ||
566 | 14. TPU/EVE's Rectangular Cut and Paste functions (originally from the EVE-Plus | |
567 | package) are supported. But unlike the TPU/EVE versions, these here | |
568 | support both insert and overwrite modes. The seven rectangular functions | |
569 | are bound to F7, F8, GOLD-F8, F9, GOLD-F9, F10, and GOLD-F10 in the | |
570 | default EDT mode. | |
571 | ||
572 | 15. The original EDT emulation package set up many default regular and GOLD | |
573 | bindings. We tried to preserve most (but not all!) of these, so users of | |
177c0ea7 | 574 | the original emulation package will feel more at home. |
a933dad1 DL |
575 | |
576 | Nevertheless, there are still many GOLD key sequences which are not bound | |
177c0ea7 JB |
577 | to any functions. These are prime candidates to use for your own |
578 | customizations. | |
579 | ||
a933dad1 DL |
580 | Also, there are several commands in edt.el not bound to any key. So, you |
581 | will find it worthwhile to look through edt.el for functions you may wish | |
582 | to add to your personal customized bindings. | |
583 | ||
584 | 16. The VT200/VT300 series terminals steal the function keys F1 to F5 for | |
585 | their own use. These do not generate signals which are sent to the host. | |
586 | So, edt.el does not assign any default bindings to F1 through F5. | |
587 | ||
588 | In addition, our VT220 terminals generate an interrupt when the F6 key is | |
589 | pressed (^C or ^Y, can't remember which) and not the character sequence | |
590 | documented in the manual. So, binding emacs commands to F6 will not work | |
591 | if your terminal behaves the same way. | |
592 | ||
593 | 17. The VT220 terminal has no ESC, BS, nor LF keys, as does a VT100. So the | |
594 | default EDT bindings adopt the standard DEC convention of having the F11, | |
595 | F12, and F13 keys, on a VT200 series (and above) terminal, assigned to the | |
596 | same EDT functions that are bound to ESC, BS, and LF on a VT100 terminal. | |
597 | ||
598 | 18. Each user, through the use of a private edt-user.el file, can customize, | |
599 | very easily, personal EDT emulation bindings. | |
600 | ||
601 | 19. The EDT SELECT and RESET functions are supported. However, unlike EDT, | |
602 | pressing RESET to cancel text selection does NOT reset the existing | |
603 | setting of the current direction. | |
604 | ||
605 | We also provide a TPU/EVE like version of the single SELECT/RESET | |
606 | function, called edt-toggle-select, which makes the EDT SELECT function | |
607 | into a toggle on/off switch. That is, if selection is ON, pressing SELECT | |
608 | again turns selection off (cancels selection). This function is used in | |
609 | the sample edt-user.el customization files. | |
4f6e7915 GM |
610 | |
611 | 20. EDT scroll margins are supported, but are disabled by default. (See | |
612 | CUSTOMIZING section below for instructions on how to enable them.) | |
a933dad1 DL |
613 | \f |
614 | ||
615 | VII. CUSTOMIZING: | |
616 | ||
617 | Most EDT users, at one time or another, make some custom key bindings, or | |
618 | use someone else's custom key bindings, which they come to depend upon just as | |
619 | if they were built-in bindings. This EDT Emulation for GNU Emacs is designed | |
620 | to make it easy to customize bindings. | |
621 | ||
622 | If you wish to customize the EDT Emulation to use some of your own key | |
623 | bindings, you need to make a private version of edt-user.el in your own | |
624 | private lisp directory. There are two sample files edt-user.el1 and | |
625 | edt-user.el2 for you to use as templates and for ideas. Look at | |
626 | edt-user.el1 first. Unless you will be using two or more very different | |
627 | types of terminals on the same system, you need not look at edt-user.el2. | |
628 | ||
629 | First, you need to have your own private lisp directory, say ~/lisp, and | |
630 | you should add it to the GNU Emacs load path. | |
631 | ||
632 | NOTE: A few sites have different load-path requirements, so the above | |
633 | directions may need some modification if your site has such special | |
177c0ea7 | 634 | needs. |
a933dad1 DL |
635 | |
636 | ||
637 | Creating your own edt-user.el file: | |
638 | ||
639 | A sample edt-user.el file is attached to the end of this user documentation. | |
640 | You should use it as a guide to learn how you can customize EDT emulation | |
641 | bindings to your own liking. Names used to identify the set of LK-201 | |
642 | keypad and function keys are: | |
643 | ||
177c0ea7 | 644 | Keypad Keys: |
a933dad1 DL |
645 | PF1 PF2 PF3 PF4 |
646 | KP7 KP8 KP9 KP- | |
647 | KP4 KP5 KP6 KP, | |
177c0ea7 | 648 | KP1 KP2 KP3 |
a933dad1 DL |
649 | KP0 KPP KPE |
650 | ||
651 | Arrow Keys: | |
652 | LEFT RIGHT DOWN UP | |
653 | ||
654 | Function Keys: | |
655 | F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 | |
656 | HELP DO F17 F18 F19 F20 | |
657 | ||
177c0ea7 | 658 | FIND INSERT REMOVE |
a933dad1 DL |
659 | SELECT PREVIOUS NEXT |
660 | ||
661 | Note: | |
662 | Many VT-200 terminals, and above, steal function keys F1 thru | |
663 | F5 for terminal setup control and don't send anything to the | |
664 | host if pressed. So customizing bindings to these keys may | |
665 | not work for you. | |
666 | ||
4f6e7915 GM |
667 | There are three basic functions that do the EDT emulation custom bindings: |
668 | edt-bind-key, edt-bind-gold-key, and edt-bind-function-key. | |
a933dad1 DL |
669 | |
670 | The first two are for binding functions to keys which are standard across most | |
671 | keyboards. This makes them keyboard independent, making it possible to define | |
672 | these key bindings for all terminals in the file edt.el. | |
673 | ||
4f6e7915 | 674 | The first, edt-bind-key, is used typically to bind emacs commands to |
a933dad1 DL |
675 | control keys, although some people use it to bind commands to other keys, as |
676 | well. (For example, some people use it to bind the VT200 seldom used | |
677 | back-tick key (`) to the function "ESC-prefix" so it will behave like an ESC | |
678 | key.) The second function, edt-bind-gold-key, is used to bind emacs commands | |
679 | to gold key sequences involving alpha-numeric keys, special character keys, | |
680 | and control keys. | |
681 | ||
4f6e7915 GM |
682 | The third function, edt-bind-function-key, is terminal dependent and is defined |
683 | in a terminal specific file (see edt-vt100.el for example). It is used to bind | |
684 | emacs commands to LK-201 function keys, to keypad keys, and to gold sequences | |
685 | of those keys. | |
a933dad1 DL |
686 | |
687 | ||
688 | SPECIFYING WORD ENTITIES: | |
689 | ||
690 | The variable edt-word-entities is used to emulate EDT's SET ENTITY WORD | |
691 | command. It contains a list of characters to be treated as words in | |
692 | themselves. If the user does not define edt-word-entities in his/her .emacs | |
693 | file, then it is set up with the EDT default containing only TAB. | |
694 | ||
695 | The characters are stored in the list by their numerical values, not as | |
696 | strings. Emacs supports several ways to specify the numerical value of a | |
697 | character. One method is to use the question mark: ?A means the numerical | |
698 | value for A, ?/ means the numerical value for /, and so on. Several | |
699 | unprintable characters have special representations: | |
700 | ||
701 | ?\b specifies BS, C-h | |
702 | ?\t specifies TAB, C-i | |
703 | ?\n specifies LFD, C-j | |
704 | ?\v specifies VTAB, C-k | |
705 | ?\f specifies FF, C-l | |
706 | ?\r specifies CR, C-m | |
707 | ?\e specifies ESC, C-[ | |
708 | ?\\ specifies \ | |
709 | ||
710 | Here are some examples: | |
711 | ||
712 | (setq edt-word-entities '(?\t ?- ?/)) ;; Specifies TAB, - , and / | |
713 | (setq edt-word-entities '(?\t) ;; Specifies TAB, the default | |
714 | ||
715 | You can also specify characters by their decimal ascii values: | |
716 | ||
717 | (setq edt-word-entities '(9 45 47)) ;; Specifies TAB, - , and / | |
718 | ||
719 | ||
720 | ENABLING EDT CONTROL KEY SEQUENCE BINDINGS: | |
721 | ||
722 | Where EDT key bindings and GNU Emacs key bindings conflict, the default GNU | |
723 | Emacs key bindings are retained by default. Some diehard EDT users may not | |
724 | like this. So, if the variable edt-use-EDT-control-key-bindings is set to | |
725 | true in a user's .emacs file, then the default EDT Emulation mode will enable | |
726 | most of the original EDT control key sequence bindings. If you wish to do | |
727 | this, add the following line to your .emacs file: | |
728 | ||
729 | (setq edt-use-EDT-control-key-bindings t) | |
730 | ||
4f6e7915 GM |
731 | |
732 | SETTING SCROLL MARGINS: | |
733 | ||
734 | Scroll margins at the top and bottom of the window are now supported. (The | |
735 | design was copied from tpu-extras.el.) By default, this feature is enabled | |
736 | with the top margin set to 10% of the window and the bottom margin set to 15% | |
737 | of the window. To change these settings, you can invoke the function | |
738 | edt-set-scroll-margins in your .emacs file. For example, the following line | |
739 | ||
740 | (edt-set-scroll-margins "20%" "25%") | |
177c0ea7 | 741 | |
4f6e7915 GM |
742 | sets the top margin to 20% of the window and the bottom margin to 25% of the |
743 | window. To disable this feature, set each margin to 0%. You can also invoke | |
744 | edt-set-scroll-margins interactively while EDT Emulation is active to change | |
745 | the settings for that session. | |
746 | ||
747 | NOTE: Another way to set the scroll margins is to use the Emacs customization | |
748 | feature (not available in Emacs 19) to set the following two variables | |
749 | directly: | |
177c0ea7 | 750 | |
4f6e7915 GM |
751 | edt-top-scroll-margin and edt-bottom-scroll-margin |
752 | ||
753 | Enter the Emacs `customize' command. First select the Editing group and then | |
754 | select the Emulations group. Finally, select the Edt group and follow the | |
755 | directions. | |
a933dad1 DL |
756 | \f |
757 | DEFAULT EDT Keypad | |
758 | ||
759 | F7: Copy Rectangle +----------+----------+----------+----------+ | |
760 | F8: Cut Rect Overstrike |Prev Line |Next Line |Bkwd Char |Frwd Char | | |
761 | G-F8: Paste Rect Overstrike | (UP) | (DOWN) | (LEFT) | (RIGHT) | | |
762 | F9: Cut Rect Insert |Window Top|Window Bot|Bkwd Sent |Frwd Sent | | |
763 | G-F9: Paste Rect Insert +----------+----------+----------+----------+ | |
764 | F10: Cut Rectangle | |
765 | G-F10: Paste Rectangle | |
177c0ea7 | 766 | F11: ESC |
93d57f6b | 767 | F12: Beginning of Line +----------+----------+----------+----------+ |
a933dad1 DL |
768 | G-F12: Delete Other Windows | GOLD | HELP | FNDNXT | DEL L | |
769 | F13: Delete to Begin of Word | (PF1) | (PF2) | (PF3) | (PF4) | | |
770 | HELP: Keypad Help |Mark Wisel|Desc Funct| FIND | UND L | | |
4f6e7915 GM |
771 | G-HELP: Emacs Help +----------+----------+----------+----------+ |
772 | DO: Execute extended command | PAGE | SECT | APPEND | DEL W | | |
a933dad1 DL |
773 | C-g: Keyboard Quit | (7) | (8) | (9) | (-) | |
774 | G-C-g: Keyboard Quit |Ex Ext Cmd|Fill Regio| REPLACE | UND W | | |
775 | C-h: Beginning of Line +----------+----------+----------+----------+ | |
776 | G-C-h: Emacs Help | ADVANCE | BACKUP | CUT | DEL C | | |
777 | C-i: Tab Insert | (4) | (5) | (6) | (,) | | |
778 | C-j: Delete to Begin of Word | BOTTOM | TOP | Yank | UND C | | |
779 | C-k: Define Key +----------+----------+----------+----------+ | |
780 | G-C-k: Restore Key | WORD | EOL | CHAR | Next | | |
781 | C-l: Form Feed Insert | (1) | (2) | (3) | Window | | |
782 | C-n: Set Screen Width 80 | CHNGCASE | DEL EOL |Quoted Ins| ! | |
783 | C-r: Isearch Backward +---------------------+----------+ (ENTER) | | |
784 | C-s: Isearch Forward | LINE | SELECT | ! | |
785 | C-t: Display the Time | (0) | (.) | Query | | |
786 | C-u: Delete to Begin of Line | Open Line | RESET | Replace | | |
787 | C-v: Redraw Display +---------------------+----------+----------+ | |
177c0ea7 | 788 | C-w: Set Screen Width 132 |
a933dad1 DL |
789 | C-z: Suspend Emacs +----------+----------+----------+ |
790 | G-C-\: Split Window | FNDNXT | Yank | CUT | | |
791 | | (FIND) | (INSERT) | (REMOVE) | | |
792 | G-b: Buffer Menu | FIND | | COPY | | |
793 | G-c: Compile +----------+----------+----------+ | |
794 | G-d: Delete Window |SELECT/RES|SECT BACKW|SECT FORWA| | |
795 | G-e: Exit | (SELECT) |(PREVIOUS)| (NEXT) | | |
796 | G-f: Find File | | | | | |
797 | G-g: Find File Other Window +----------+----------+----------+ | |
798 | G-h: Keypad Help | |
799 | G-i: Insert File | |
800 | G-k: Toggle Capitalization Word | |
801 | G-l: Lowercase Word or Region | |
802 | G-m: Save Some Buffers | |
803 | G-n: Next Error | |
804 | G-o: Switch to Next Window | |
805 | G-q: Quit | |
806 | G-r: Revert File | |
807 | G-s: Save Buffer | |
808 | G-u: Uppercase Word or Region | |
809 | G-v: Find File Other Window | |
810 | G-w: Write file | |
811 | G-y: EDT Emulation OFF | |
812 | G-z: Switch to User EDT Key Bindings | |
813 | G-1: Delete Other Windows | |
814 | G-2: Split Window | |
815 | G-%: Go to Percentage | |
816 | G- : Undo (GOLD Spacebar) | |
817 | G-=: Go to Line | |
818 | G-`: What line | |
4f6e7915 | 819 | G-/: Query-Replace |
a933dad1 | 820 | \f |
177c0ea7 JB |
821 | ;;; File: edt-user.el --- Sample User Customizations for the Enhanced |
822 | ;;; EDT Keypad Mode Emulation | |
823 | ;;; | |
4f6e7915 | 824 | ;;; For GNU Emacs 19 and Above |
a933dad1 | 825 | ;;; |
b7ef07a0 GM |
826 | ;; Copyright (C) 1986, 1992, 1993, 2000, 2001, 2002, 2003, 2004, 2005, |
827 | ;; 2006, 2007 Free Software Foundation, Inc. | |
a933dad1 | 828 | |
4f6e7915 GM |
829 | ;; Author: Kevin Gallagher <kgallagh@spd.dsccc.com> |
830 | ;; Maintainer: Kevin Gallagher <kgallagh@spd.dsccc.com> | |
a933dad1 DL |
831 | ;; Keywords: emulations |
832 | ||
833 | ;; GNU Emacs is free software; you can redistribute it and/or modify | |
834 | ;; it under the terms of the GNU General Public License as published by | |
fca4a5de | 835 | ;; the Free Software Foundation; either version 3, or (at your option) |
a933dad1 DL |
836 | ;; any later version. |
837 | ||
838 | ;; GNU Emacs is distributed in the hope that it will be useful, | |
839 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
840 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
841 | ;; GNU General Public License for more details. | |
842 | ||
843 | ;; You should have received a copy of the GNU General Public License | |
844 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
086add15 LK |
845 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
846 | ;; Boston, MA 02110-1301, USA. | |
a933dad1 DL |
847 | |
848 | ;;; Commentary: | |
849 | ||
4f6e7915 | 850 | ;; This file contains GNU Emacs User Custom EDT bindings and functions. |
a933dad1 DL |
851 | |
852 | ;;; Usage: | |
853 | ||
854 | ;; See edt-user.doc in the emacs etc directory. | |
855 | ||
856 | ;; ==================================================================== | |
857 | \f | |
858 | ;;;; | |
859 | ;;;; Setup user custom EDT key bindings. | |
860 | ;;;; | |
861 | ||
862 | (defun edt-setup-user-bindings () | |
863 | "Assigns user custom EDT Emulation keyboard bindings." | |
864 | ||
865 | ;; PF1 (GOLD), PF2, PF3, PF4 | |
866 | ;; | |
867 | ;; This file MUST contain a binding of PF1 to edt-user-gold-map. So | |
868 | ;; DON'T CHANGE OR DELETE THE REGULAR KEY BINDING OF PF1 BELOW! | |
869 | ;; (However, you may change the GOLD-PF1 binding, if you wish.) | |
870 | (edt-bind-function-key "PF1" 'edt-user-gold-map 'edt-mark-section-wisely) | |
871 | (edt-bind-function-key "PF2" 'query-replace 'other-window) | |
872 | (edt-bind-function-key "PF4" 'edt-delete-entire-line 'edt-undelete-line) | |
873 | ||
874 | ;; EDT Keypad Keys | |
875 | (edt-bind-function-key "KP1" 'edt-word-forward 'edt-change-case) | |
876 | (edt-bind-function-key "KP3" 'edt-word-backward 'edt-copy) | |
877 | (edt-bind-function-key "KP6" 'edt-cut-or-copy 'yank) | |
878 | (edt-bind-function-key "KP8" 'edt-scroll-window 'fill-paragraph) | |
879 | (edt-bind-function-key "KP9" 'open-line 'edt-eliminate-all-tabs) | |
177c0ea7 | 880 | (edt-bind-function-key "KPP" |
a933dad1 DL |
881 | 'edt-toggle-select 'edt-line-to-middle-of-window) |
882 | (edt-bind-function-key "KPE" 'edt-change-direction 'overwrite-mode) | |
883 | ||
884 | ;; GOLD bindings for regular keys. | |
885 | (edt-bind-gold-key "a" 'edt-append) | |
886 | (edt-bind-gold-key "A" 'edt-append) | |
887 | (edt-bind-gold-key "h" 'edt-electric-user-keypad-help) | |
888 | (edt-bind-gold-key "H" 'edt-electric-user-keypad-help) | |
889 | ||
890 | ;; Control bindings for regular keys. | |
891 | ;;; Leave binding of C-c as original prefix key. | |
4f6e7915 GM |
892 | (edt-bind-key "\C-j" 'edt-duplicate-word) |
893 | (edt-bind-key "\C-k" 'edt-define-key) | |
a933dad1 | 894 | (edt-bind-gold-key "\C-k" 'edt-restore-key) |
4f6e7915 | 895 | (edt-bind-key "\C-l" 'edt-learn) |
a933dad1 | 896 | ;;; Leave binding of C-m to newline. |
4f6e7915 GM |
897 | (edt-bind-key "\C-n" 'edt-set-screen-width-80) |
898 | (edt-bind-key "\C-o" 'open-line) | |
899 | (edt-bind-key "\C-p" 'fill-paragraph) | |
a933dad1 DL |
900 | ;;; Leave binding of C-r to isearch-backward. |
901 | ;;; Leave binding of C-s to isearch-forward. | |
4f6e7915 GM |
902 | (edt-bind-key "\C-t" 'edt-display-the-time) |
903 | (edt-bind-key "\C-v" 'redraw-display) | |
904 | (edt-bind-key "\C-w" 'edt-set-screen-width-132) | |
a933dad1 DL |
905 | ;;; Leave binding of C-x as original prefix key. |
906 | ) | |
907 | \f | |
908 | ;;; | |
909 | ;;; LK-201 KEYBOARD USER EDT KEYPAD HELP | |
910 | ;;; | |
911 | ||
912 | (defun edt-user-keypad-help () | |
913 | " | |
914 | USER EDT Keypad Active | |
915 | ||
916 | +----------+----------+----------+----------+ | |
917 | F7: Copy Rectangle |Prev Line |Next Line |Bkwd Char |Frwd Char | | |
918 | F8: Cut Rect Overstrike | (UP) | (DOWN) | (LEFT) | (RIGHT) | | |
919 | G-F8: Paste Rect Overstrike |Window Top|Window Bot|Bkwd Sent |Frwd Sent | | |
920 | F9: Cut Rect Insert +----------+----------+----------+----------+ | |
177c0ea7 | 921 | G-F9: Paste Rect Insert |
a933dad1 DL |
922 | F10: Cut Rectangle |
923 | G-F10: Paste Rectangle | |
924 | F11: ESC +----------+----------+----------+----------+ | |
93d57f6b | 925 | F12: Beginning of Line | GOLD |Query Repl| FNDNXT |Del Ent L | |
a933dad1 DL |
926 | G-F12: Delete Other Windows | (PF1) | (PF2) | (PF3) | (PF4) | |
927 | F13: Delete to Begin of Word |Mark Wisel|Other Wind| FIND | UND L | | |
928 | HELP: Keypad Help +----------+----------+----------+----------+ | |
4f6e7915 GM |
929 | G-HELP: Emacs Help | PAGE |Scroll Win|Open Line | DEL W | |
930 | DO: Execute extended command | (7) | (8) | (9) | (-) | | |
a933dad1 | 931 | C-a: Beginning of Line |Ex Ext Cmd|Fill Parag|Elim Tabs | UND W | |
09e5121d | 932 | C-b: Backward Character +----------+----------+----------+----------+ |
a933dad1 DL |
933 | C-d: Delete Character | ADVANCE | BACKUP | CUT/COPY | DEL C | |
934 | C-e: End of Line | (4) | (5) | (6) | (,) | | |
935 | C-f: Forward Character | BOTTOM | TOP | Yank | UND C | | |
936 | C-g: Keyboard Quit +----------+----------+----------+----------+ | |
937 | G-C-g: Keyboard Quit | Fwd Word | EOL | Bwd Word | Change | | |
938 | C-h: Electric Emacs Help | (1) | (2) | (3) | Direction| | |
939 | G-C-h: Emacs Help | CHNGCASE | DEL EOL | COPY | | | |
940 | C-i: Indent for Tab +---------------------+----------+ (ENTER) | | |
941 | C-j: Duplicate Word | LINE |SELECT/RES| | | |
942 | C-k: Define Key | (0) | (.) | Toggle | | |
943 | G-C-k: Restore Key | Open Line |Center Lin|Insrt/Over| | |
944 | C-l: Learn +---------------------+----------+----------+ | |
177c0ea7 | 945 | C-n: Set Screen Width 80 |
a933dad1 DL |
946 | C-o: Open Line +----------+----------+----------+ |
947 | C-p: Fill Paragraph | FNDNXT | Yank | CUT | | |
948 | C-q: Quoted Insert | (FIND)) | (INSERT) | (REMOVE) | | |
949 | C-r: Isearch Backward | FIND | | COPY | | |
950 | C-s: Isearch Forward +----------+----------+----------+ | |
951 | C-t: Display the Time |SELECT/RES|SECT BACKW|SECT FORWA| | |
952 | C-u: Universal Argument | (SELECT) |(PREVIOUS)| (NEXT) | | |
953 | C-v: Redraw Display | | | | | |
954 | C-w: Set Screen Width 132 +----------+----------+----------+ | |
955 | C-z: Suspend Emacs | |
956 | G-C-\\: Split Window | |
957 | ||
958 | G-a: Append to Kill Buffer | |
959 | G-b: Buffer Menu | |
960 | G-c: Compile | |
961 | G-d: Delete Window | |
962 | G-e: Exit | |
963 | G-f: Find File | |
964 | G-g: Find File Other Window | |
965 | G-h: Keypad Help | |
966 | G-i: Insert File | |
967 | G-k: Toggle Capitalization Word | |
968 | G-l: Lowercase Word or Region | |
969 | G-m: Save Some Buffers | |
970 | G-n: Next Error | |
971 | G-o: Switch Windows | |
972 | G-q: Quit | |
973 | G-r: Revert File | |
974 | G-s: Save Buffer | |
975 | G-u: Uppercase Word or Region | |
976 | G-v: Find File Other Window | |
977 | G-w: Write file | |
978 | G-y: EDT Emulation OFF | |
979 | G-z: Switch to Default EDT Key Bindings | |
980 | G-2: Split Window | |
981 | G-%: Go to Percentage | |
982 | G- : Undo (GOLD Spacebar) | |
983 | G-=: Go to Line | |
4f6e7915 GM |
984 | G-`: What line |
985 | G-/: Query-Replace" | |
a933dad1 DL |
986 | |
987 | (interactive) | |
988 | (describe-function 'edt-user-keypad-help)) |