+File: edt-user.doc --- EDT Emulation User Instructions
+Copyright (C) 1986, 1992, 1994, 1995 Free Software Foundation, Inc.
+Author: Kevin Gallagher <firstname.lastname@example.org>
+Maintainer: Kevin Gallagher <email@example.com>
+This file is part of GNU Emacs.
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.
+This version of the EDT emulation package for GNU Emacs is a substantially
+enhanced version of the original. A large part of the original can still be
+found here, of course, but much of it has been modified and quite a bit is
+new. Many of the ideas found here are borrowed from others. In particular,
+some of the code found here was drawn from an earlier re-write of the EDT
+package done at DSC in 1989 by Matthew Frohman.
+Send bug fixes, suggestions for enhancements, and corrections to this
+documentation to Kevin Gallagher (firstname.lastname@example.org).
+The EDT emulation consists of the following files:
+edt-user.doc - User instructions (which you are reading now)
+edt.el - EDT Emulation Functions and Default Configuration
+edt-lk201.el - Support for DEC LK-201 Keyboards
+edt-vt100.el - Support for DEC VT-100 (and above) terminals
+edt-mapper.el - Support for Keyboards used under X Windows
+edt-pc.el - Support for the PC AT Keyboard under MS-DOS
+Several goals were kept in mind when making this version:
+ 1. Emulate EDT Keypad Mode commands closely so that current
+ EDT users will find that it easy and comfortable to use
+ GNU Emacs with a small learning curve;
+ 2. Make it easy for a user to customize EDT emulation key
+ bindings without knowing much about Emacs Lisp;
+ 3. Make it easy to switch between the original EDT default bindings
+ and the user's customized bindings, without having to exit Emacs.
+ 4. Provide support for some TPU/EVE functions not supported in
+ 5. Provide an easy way to restore ALL original Emacs key bindings,
+ just as they existed before the EDT emulation was first invoked.
+ 6. Support GNU Emacs 19. (Support for GNU Emacs 18 has been dropped.
+ Also, although there is some code designed to support Xemacs 19
+ (formerly Lucid Emacs), this is not fully implemented at this
+ 7. When running under X, support highlighting of marked text.
+ 8. Handle terminal configuration under X interactively when the
+ emulation is invoked for the first time.
+ 9. Support a PC AT keyboard under MS-DOS.
+II. TERMINALS/KEYBOARDS SUPPORTED:
+Keyboards used under X Windows are supported via the edt-mapper function. The
+first time you invoke the emulation under X, the edt-mapper function is run
+automatically and the user is prompted to identify which keys the emulation is
+to use for the standard keypad and function keys EDT expects (e.g., PF1, PF2,
+etc.). This configuration is saved to disk read each time the emulation is
+In character oriented connections not running a window manager, the following
+terminals/keyboards are supported. (1) DEC VT-100 series and higher. This
+includes well behaved VT clones and emulators. If you are using a VT series
+terminal, be sure that the term environment variable is set properly before
+invoking emacs. (2) PC AT keyboard under MS-DOS.
+Be sure to read the SPECIAL NOTES FOR SOME PLATFORMS sections to see if those
+III. STARTING THE EDT EMULATION:
+Start up GNU Emacs and enter "M-x edt-emulation-on" to begin the emulation.
+After initialization is complete, the following message will appear below the
+status line informing you that the emulation has been enabled:
+ Default EDT keymap active
+You can have the EDT Emulation start up automatically, each time you initiate
+a GNU Emacs session, by adding the following line to your .emacs file:
+ (setq term-setup-hook 'edt-emulation-on)
+A reference sheet is included (later on) listing the default EDT Emulation key
+bindings. This sheet is also accessible on line from within Emacs by pressing
+PF2, GOLD H, or HELP (when in the EDT Default Mode).
+It is easy to customize key bindings in the EDT Emulation. (See CUSTOMIZING
+section, below.) Customizations are placed in a file called edt-user.el. (A
+sample edt-user.el file can be found in the CUSTOMIZING section.) If
+edt-user.el is found in your GNU Emacs load path during EDT Emulation
+initialization, then the following message will appear below the status line
+indicating that the emulation has been enabled, enhanced by your own
+ User EDT custom keymap active
+Once enabled, it is easy to switch back and forth between your customized EDT
+Emulation key bindings and the default EDT Emulation key bindings. It is also
+easy to turn off the emulation. Doing so completely restores the original key
+bindings in effect just prior to invoking the emulation.
+Where EDT key bindings and GNU Emacs key bindings conflict, the default GNU
+Emacs key bindings are retained by the EDT emulation by default. If you are a
+diehard EDT user you may not like this. The CUSTOMIZING section explains how
+IV. SPECIAL NOTES FOR SOME PLATFORMS:
+ Sun Workstations running X:
+ Some earlier Sun keyboards do not have arrow keys separate from the
+ keypad keys. It is difficult to emulate the full EDT keypad and still
+ retain use of the arrow keys on such keyboards.
+ The Sun Type 5 keyboard, however, does have separate arrow keys. This
+ makes it a candidate for setting up a reasonable EDT keypad emulation.
+ Unfortunately, Sun's default X keynames for the keypad keys don't permit
+ GNU Emacs to interpret the keypad 2, 4, 6, and 8 keys as something other
+ than arrow keys, nor use all the top row of keys for PF1 thru PF4 keys.
+ Here's the contents of an .xmodmaprc file which corrects this problem for
+ ! Set up Sun Type 5 keypad for use with the GNU Emacs EDT Emulation
+ keycode 54 = KP_Multiply
+ keycode 57 = KP_Decimal
+ keycode 78 = KP_Subtract
+ Feed .xmodmaprc to the xmodmap command and all the Sun Type 5 keypad keys
+ will now be configurable for the emulation of an LK-201 keypad (less the
+ modifies the NumLock key to be the F24 key which can then be configured
+ to behave as the PF1 key. In doing so, you will no longer have a NumLock
+ key. If you are using other software under X which requires a NumLock
+ key, then examine your keyboard and look for one you don't use and
+ redefine it to be the NumLock key. (See the man page on xmodmap for for
+ further help on how to do this.)
+ PC users running MS-DOS:
+ By default, F1 is configured to emulate the PF1 (GOLD) key. But NumLock
+ can be used instead if you load a freeware TSR distributed with
+ MS-Kermit, call gold.com. It is distributed in a file called gold22.zip
+ and comes with the source code as well as a loadable binary image.
+ (See edt-pc.el for more information.)
+ PC users running Linux:
+ The default X server configuration of three keys PC AT keyboard keys
+ needs to be modified to permit the PC keyboard to emulate an LK-201
+ keyboard properly. Here's the contents of an .xmodmaprc file which makes
+ these changes for your:
+ ! Set up PC keypad under Linux for the GNU Emacs EDT Emulation
+ Feed the file to the xmodmap command and all the PC keypad keys will now
+ be configurable for the emulation of an LK-201 keypad (less the comma
+ key), the standard keyboard supplied with DEC terminals VT-200 and above.
+ This file switches the role of the F12 and NumLock keys. It also
+ modifies the definition of the Delete key above the arrow keys so that it
+ can be assigned a keybinding independently of the the BackSpace key.
+ NOTE: It is necessary to have NumLock ON for the PC keypad to emulate the
+ LK-201 keypad properly.
+V. HOW DOES THIS EDT EMULATION DIFFER FROM REAL EDT?:
+In general, you will find that this emulation of EDT replicates most, but not
+all, of EDT's most used Keypad Mode editing functions and behavior. It is not
+perfect, but most EDT users who have tried the emulation agree that it is
+quite good enough to make it easy for die-hard EDT users to move over to using
+Here's a list of the most important differences between EDT and this GNU Emacs
+EDT Emulation. The list is short but you must be aware of these differences
+if you are to use the EDT Emulation effectively.
+1. Entering repeat counts works a little differently than in EDT.
+ EDT allows users to enter a repeat count before entering a command that
+ accepts repeat counts. For example, when in EDT, pressing these three
+ keys in sequence, GOLD 5 KP1, will move the cursor in the current
+ Emacs provides two ways to enter repeat counts, though neither involves
+ using the GOLD key. In Emacs, repeat counts can be entered by using the
+ ESC key. For example, pressing these keys in sequence, ESC 1 0 KP1, will
+ move the cursor in the current direction 10 words.
+ Emacs provides another command called universal-argument that can do the
+ same thing, plus a few other things. Normally, Emacs has this bound to
+2. The EDT SUBS command, bound to GOLD ENTER, is NOT supported. The built-in
+ Emacs query-replace command has been bound to GOLD ENTER, instead. It is
+ much more convenient to use than SUBS.
+3. EDT's line mode commands and nokeypad mode commands are NOT supported
+ (with one important exception; see item 8 in the Highlights section
+ below). Although, at first, this may seem like a big omission, the set of
+ built-in Emacs commands provides a much richer set of capabilities which
+ more than make up for this omission.
+ To enter Emacs commands not bound to keys, you can press GOLD KP7 or the
+ DO key. Emacs will display it's own command prompt called Meta-x (M-x).
+ You can also invoke this prompt the normal Emacs way by entering ESC x.
+4. Selected text is highlighted ONLY when running under X Windows. Gnu Emacs
+ 19 does not support highlighting of text on VT series terminals, at this
+5. Just like TPU/EVE, The ENTER key is NOT used to terminate input when the
+ editor prompts you for input. The RETURN key is used, instead. (KP4 and
+ KP5 do terminate input for the FIND command, just like in EDT, however.)
+VI. SOME HIGHLIGHTS IN THIS EDT EMULATION, AND SOME COMPARISONS TO THE
+ ORIGINAL GNU EMACS EDT EMULATION:
+1. The EDT define key command is supported (edt-define-key) and is bound to
+ C-k in the default EDT mode when EDT control sequence bindings are enabled
+ or one of the sample edt-user.el customization files is used. The TPU/EVE
+ learn command is supported but not bound to a key in the default EDT mode
+ but is bound in the sample edt-user.el files.
+ Unlike the TPU/EVE learn command, which uses one key to begin the learn
+ sequence, C-l, and another command to remember the sequence, C-r, this
+ version of the learn command (edt-learn) serves as a toggle to both begin
+ and to remember the learn sequence.
+ Many users who change the meaning of a key with the define key and the
+ learn commands, would like to be able to restore the original key binding
+ without having to quit and restart emacs. So a restore key command is
+ provided to do just that. When invoked, it prompts you to press the key
+ to which you wish the last replaced key definition restored. It is bound
+ to GOLD C-k in the default EDT mode when EDT control sequence bindings are
+ enabled or one of the sample edt-user.el customization files is used.
+2. Direction support is fully supported. It is no longer accomplished by
+ re-defining keys each time the direction is changed. Thus, commands
+ sensitive to the current direction setting may be bound easily to any key.
+3. All original emacs bindings are fully restored when EDT emulation is
+4. User custom EDT bindings are kept separate from the default EDT bindings.
+ One can toggle back and forth between the custom EDT bindings and default
+5. The Emacs functions in edt.el attempt to emulate, where practical, the
+ exact behavior of the corresponding EDT keypad mode commands. In a few
+ cases, the emulation is not exact, but we hope you will agree it is close
+ enough. In a very few cases, we chose to use the Emacs way of handling
+ things. As mentioned earlier, we do not emulate the EDT SUBS command.
+ Instead, we chose to use the Emacs query-replace function, which we find
+6. Emacs uses the regexp assigned to page-delimiter to determine what marks a
+ page break. This is normally "^\f", which causes the edt-page command to
+ ignore form feeds not located at the beginning of a line. To emulate the
+ EDT PAGE command exactly, page-delimiter is set to "\f" when EDT emulation
+ is turned on, and restored to "^\f" when EDT emulation is turned off.
+ But, since some users prefer the Emacs definition of a page break, or may
+ wish to preserve a customized definition of page break, one can override
+ the EDT definition by placing
+ (setq edt-keep-current-page-delimiter t)
+7. The EDT definition of a section of a terminal window is hardwired to be 16
+ lines of its one-and-only 24-line window (the EDT SECT command bound to
+ KP8). That's two-thirds of the window at a time. Since Emacs, like
+ TPU/EVE, can handle multiple windows of sizes of other than 24 lines, the
+ definition of section used here has been modified to two-thirds of the
+ current window. (There is also an edt-scroll-window function which you
+ may prefer over the SECT emulation.)
+8. Cursor movement and deletion involving word entities is identical to EDT.
+ This, above all else, gives the die-hard EDT user a sense of being at
+ home. Also, an emulation of EDT's SET ENTITY WORD command is provided,
+ for those users who like to customize movement by a word at a time to
+9. EDT's FIND and FNDNXT are supported.
+10. EDT's APPEND and REPLACE commands are supported.
+11. CHNGCASE is supported. It works on individual characters or selected
+ text, if SELECT is active. In addition, two new commands are provided:
+ edt-lowercase and edt-uppercase. They work on individual WORDS or
+ selected text, if SELECT is active.
+12. Form feed and tab insert commands are supported.
+13. A new command, edt-duplicate-word, is provided. If you experiment with
+ it, you might find it to be surprisingly useful and may wonder how you
+ ever got along without it! It is assigned to C-j in the sample
+ edt-user.el customization files.
+14. TPU/EVE's Rectangular Cut and Paste functions (originally from the EVE-Plus
+ package) are supported. But unlike the TPU/EVE versions, these here
+ support both insert and overwrite modes. The seven rectangular functions
+ are bound to F7, F8, GOLD-F8, F9, GOLD-F9, F10, and GOLD-F10 in the
+15. The original EDT emulation package set up many default regular and GOLD
+ bindings. We tried to preserve most (but not all!) of these, so users of
+ the original emulation package will feel more at home.
+ Nevertheless, there are still many GOLD key sequences which are not bound
+ to any functions. These are prime candidates to use for your own
+ Also, there are several commands in edt.el not bound to any key. So, you
+ will find it worthwhile to look through edt.el for functions you may wish
+ to add to your personal customized bindings.
+16. The VT200/VT300 series terminals steal the function keys F1 to F5 for
+ their own use. These do not generate signals which are sent to the host.
+ So, edt.el does not assign any default bindings to F1 through F5.
+ In addition, our VT220 terminals generate an interrupt when the F6 key is
+ pressed (^C or ^Y, can't remember which) and not the character sequence
+ documented in the manual. So, binding emacs commands to F6 will not work
+ if your terminal behaves the same way.
+17. The VT220 terminal has no ESC, BS, nor LF keys, as does a VT100. So the
+ default EDT bindings adopt the standard DEC convention of having the F11,
+ F12, and F13 keys, on a VT200 series (and above) terminal, assigned to the
+ same EDT functions that are bound to ESC, BS, and LF on a VT100 terminal.
+18. Each user, through the use of a private edt-user.el file, can customize,
+ very easily, personal EDT emulation bindings.
+19. The EDT SELECT and RESET functions are supported. However, unlike EDT,
+ pressing RESET to cancel text selection does NOT reset the existing
+ setting of the current direction.
+ We also provide a TPU/EVE like version of the single SELECT/RESET
+ function, called edt-toggle-select, which makes the EDT SELECT function
+ into a toggle on/off switch. That is, if selection is ON, pressing SELECT
+ again turns selection off (cancels selection). This function is used in
+ the sample edt-user.el customization files.
+Most EDT users, at one time or another, make some custom key bindings, or
+use someone else's custom key bindings, which they come to depend upon just as
+if they were built-in bindings. This EDT Emulation for GNU Emacs is designed
+to make it easy to customize bindings.
+If you wish to customize the EDT Emulation to use some of your own key
+bindings, you need to make a private version of edt-user.el in your own
+private lisp directory. There are two sample files edt-user.el1 and
+edt-user.el2 for you to use as templates and for ideas. Look at
+edt-user.el1 first. Unless you will be using two or more very different
+types of terminals on the same system, you need not look at edt-user.el2.
+First, you need to have your own private lisp directory, say ~/lisp, and
+you should add it to the GNU Emacs load path.
+NOTE: A few sites have different load-path requirements, so the above
+ directions may need some modification if your site has such special
+Creating your own edt-user.el file:
+A sample edt-user.el file is attached to the end of this user documentation.
+You should use it as a guide to learn how you can customize EDT emulation
+bindings to your own liking. Names used to identify the set of LK-201
+keypad and function keys are:
+ F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14
+ HELP DO F17 F18 F19 F20
+ Many VT-200 terminals, and above, steal function keys F1 thru
+ F5 for terminal setup control and don't send anything to the
+ host if pressed. So customizing bindings to these keys may
+There are three basic functions that do the EDT emulation bindings:
+edt-bind-standard-key, edt-bind-gold-key, and edt-bind-function-key.
+The first two are for binding functions to keys which are standard across most
+keyboards. This makes them keyboard independent, making it possible to define
+these key bindings for all terminals in the file edt.el.
+The first, edt-bind-standard-key, is used typically to bind emacs commands to
+control keys, although some people use it to bind commands to other keys, as
+well. (For example, some people use it to bind the VT200 seldom used
+back-tick key (`) to the function "ESC-prefix" so it will behave like an ESC
+key.) The second function, edt-bind-gold-key, is used to bind emacs commands
+to gold key sequences involving alpha-numeric keys, special character keys,
+The third function, edt-bind-function-key, is terminal dependent and is
+defined in a terminal specific file (see edt-vt100.el for example). It is
+used to bind emacs commands to function keys, to keypad keys, and to gold
+sequences of those keys.
+WARNING: Each of the three functions, edt-bind-function-key,
+ edt-bind-gold-key, and edt-bind-standard-key, has an optional
+ last argument. The optional argument should NOT be used in
+ edt-user.el! When the optional argument is missing, each
+ function knows to make the key binding part of the user's EDT
+ custom bindings, which is what you want to do in edt-user.el!
+ The EDT default bindings are set up in edt.el by calling these
+ same functions with the optional last argument set to "t". So, if
+ you decide to copy such function calls from edt.el to edt-user.el
+ for subsequent modification, BE SURE TO DELETE THE "t" AT THE END
+ OF EACH PARAMETER LIST!
+SPECIFYING WORD ENTITIES:
+The variable edt-word-entities is used to emulate EDT's SET ENTITY WORD
+command. It contains a list of characters to be treated as words in
+themselves. If the user does not define edt-word-entities in his/her .emacs
+file, then it is set up with the EDT default containing only TAB.
+The characters are stored in the list by their numerical values, not as
+strings. Emacs supports several ways to specify the numerical value of a
+character. One method is to use the question mark: ?A means the numerical
+value for A, ?/ means the numerical value for /, and so on. Several
+unprintable characters have special representations:
+ ?\v specifies VTAB, C-k
+ (setq edt-word-entities '(?\t ?- ?/)) ;; Specifies TAB, - , and /
+ (setq edt-word-entities '(?\t) ;; Specifies TAB, the default
+You can also specify characters by their decimal ascii values:
+ (setq edt-word-entities '(9 45 47)) ;; Specifies TAB, - , and /
+ENABLING EDT CONTROL KEY SEQUENCE BINDINGS:
+Where EDT key bindings and GNU Emacs key bindings conflict, the default GNU
+Emacs key bindings are retained by default. Some diehard EDT users may not
+like this. So, if the variable edt-use-EDT-control-key-bindings is set to
+true in a user's .emacs file, then the default EDT Emulation mode will enable
+most of the original EDT control key sequence bindings. If you wish to do
+this, add the following line to your .emacs file:
+ (setq edt-use-EDT-control-key-bindings t)
+ F7: Copy Rectangle +----------+----------+----------+----------+
+ F8: Cut Rect Overstrike |Prev Line |Next Line |Bkwd Char |Frwd Char |
+ G-F8: Paste Rect Overstrike | (UP) | (DOWN) | (LEFT) | (RIGHT) |
+ F9: Cut Rect Insert |Window Top|Window Bot|Bkwd Sent |Frwd Sent |
+ G-F9: Paste Rect Insert +----------+----------+----------+----------+
+ F12: Begining of Line +----------+----------+----------+----------+
+G-F12: Delete Other Windows | GOLD | HELP | FNDNXT | DEL L |
+ F13: Delete to Begin of Word | (PF1) | (PF2) | (PF3) | (PF4) |
+ HELP: Keypad Help |Mark Wisel|Desc Funct| FIND | UND L |
+ DO: Execute extended command +----------+----------+----------+----------+
+ | PAGE | SECT | APPEND | DEL W |
+ C-g: Keyboard Quit | (7) | (8) | (9) | (-) |
+G-C-g: Keyboard Quit |Ex Ext Cmd|Fill Regio| REPLACE | UND W |
+ C-h: Beginning of Line +----------+----------+----------+----------+
+G-C-h: Emacs Help | ADVANCE | BACKUP | CUT | DEL C |
+ C-i: Tab Insert | (4) | (5) | (6) | (,) |
+ C-j: Delete to Begin of Word | BOTTOM | TOP | Yank | UND C |
+ C-k: Define Key +----------+----------+----------+----------+
+G-C-k: Restore Key | WORD | EOL | CHAR | Next |
+ C-l: Form Feed Insert | (1) | (2) | (3) | Window |
+ C-n: Set Screen Width 80 | CHNGCASE | DEL EOL |Quoted Ins| !
+ C-r: Isearch Backward +---------------------+----------+ (ENTER) |
+ C-s: Isearch Forward | LINE | SELECT | !
+ C-t: Display the Time | (0) | (.) | Query |
+ C-u: Delete to Begin of Line | Open Line | RESET | Replace |
+ C-v: Redraw Display +---------------------+----------+----------+
+ C-w: Set Screen Width 132
+ C-z: Suspend Emacs +----------+----------+----------+
+G-C-\: Split Window | FNDNXT | Yank | CUT |
+ | (FIND) | (INSERT) | (REMOVE) |
+ G-b: Buffer Menu | FIND | | COPY |
+ G-c: Compile +----------+----------+----------+
+ G-d: Delete Window |SELECT/RES|SECT BACKW|SECT FORWA|
+ G-e: Exit | (SELECT) |(PREVIOUS)| (NEXT) |
+ G-g: Find File Other Window +----------+----------+----------+
+ G-k: Toggle Capitalization Word
+ G-l: Lowercase Word or Region
+ G-o: Switch to Next Window
+ G-u: Uppercase Word or Region
+ G-v: Find File Other Window
+ G-z: Switch to User EDT Key Bindings
+ G-1: Delete Other Windows
+ G- : Undo (GOLD Spacebar)
+;;; File: edt-user.el --- Sample User Customizations for the Enhanced
+;;; EDT Keypad Mode Emulation
+;; Copyright (C) 1986, 1992, 1993 Free Software Foundation, Inc.
+;; Author: Kevin Gallagher <email@example.com>
+;; Maintainer: Kevin Gallagher <firstname.lastname@example.org>
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+;; This file contains GNU Emacs User Custom EDT bindings and functions. In
+;; this example file, there is no special test for the type of terminal being
+;; used. The assumption is that all key bindings here apply to all terminals
+;; that may be used. (In fact, it was written by an individual who uses only
+;; VT series terminals when logging into a VAX.)
+;; WARNING: Each of the three functions, edt-bind-function-key,
+;; edt-bind-gold-key, and edt-bind-standard-key, has an optional
+;; last argument. The optional argument should NOT be used in
+;; edt-user.el! When the optional argument is missing, each
+;; function knows to make the key binding part of the user's EDT
+;; custom bindings, which is what you want to do in edt-user.el!
+;; The EDT default bindings are set up in edt.el by calling these
+;; same functions with the optional last argument set to "t". So, if
+;; you decide to copy such function calls from edt.el to edt-user.el
+;; for subsequent modification, BE SURE TO DELETE THE "t" AT THE END
+;; OF EACH PARAMETER LIST!
+;; See edt-user.doc in the emacs etc directory.
+;;;; Setup user custom EDT key bindings.
+(defun edt-setup-user-bindings ()
+ "Assigns user custom EDT Emulation keyboard bindings."
+ ;; PF1 (GOLD), PF2, PF3, PF4
+ ;; This file MUST contain a binding of PF1 to edt-user-gold-map. So
+ ;; DON'T CHANGE OR DELETE THE REGULAR KEY BINDING OF PF1 BELOW!
+ ;; (However, you may change the GOLD-PF1 binding, if you wish.)
+ (edt-bind-function-key "PF1" 'edt-user-gold-map 'edt-mark-section-wisely)
+ (edt-bind-function-key "PF2" 'query-replace 'other-window)
+ (edt-bind-function-key "PF4" 'edt-delete-entire-line 'edt-undelete-line)
+ (edt-bind-function-key "KP1" 'edt-word-forward 'edt-change-case)
+ (edt-bind-function-key "KP3" 'edt-word-backward 'edt-copy)
+ (edt-bind-function-key "KP6" 'edt-cut-or-copy 'yank)
+ (edt-bind-function-key "KP8" 'edt-scroll-window 'fill-paragraph)
+ (edt-bind-function-key "KP9" 'open-line 'edt-eliminate-all-tabs)
+ (edt-bind-function-key "KPP"
+ 'edt-toggle-select 'edt-line-to-middle-of-window)
+ (edt-bind-function-key "KPE" 'edt-change-direction 'overwrite-mode)
+ ;; GOLD bindings for regular keys.
+ (edt-bind-gold-key "a" 'edt-append)
+ (edt-bind-gold-key "A" 'edt-append)
+ (edt-bind-gold-key "h" 'edt-electric-user-keypad-help)
+ (edt-bind-gold-key "H" 'edt-electric-user-keypad-help)
+ ;; Control bindings for regular keys.
+ ;;; Leave binding of C-c as original prefix key.
+ (edt-bind-standard-key "\C-j" 'edt-duplicate-word)
+ (edt-bind-standard-key "\C-k" 'edt-define-key)
+ (edt-bind-gold-key "\C-k" 'edt-restore-key)
+ (edt-bind-standard-key "\C-l" 'edt-learn)
+ ;;; Leave binding of C-m to newline.
+ (edt-bind-standard-key "\C-n" 'edt-set-screen-width-80)
+ (edt-bind-standard-key "\C-o" 'open-line)
+ (edt-bind-standard-key "\C-p" 'fill-paragraph)
+ ;;; Leave binding of C-r to isearch-backward.
+ ;;; Leave binding of C-s to isearch-forward.
+ (edt-bind-standard-key "\C-t" 'edt-display-the-time)
+ (edt-bind-standard-key "\C-v" 'redraw-display)
+ (edt-bind-standard-key "\C-w" 'edt-set-screen-width-132)
+ ;;; Leave binding of C-x as original prefix key.
+;;; LK-201 KEYBOARD USER EDT KEYPAD HELP
+(defun edt-user-keypad-help ()
+ F7: Copy Rectangle |Prev Line |Next Line |Bkwd Char |Frwd Char |
+ F8: Cut Rect Overstrike | (UP) | (DOWN) | (LEFT) | (RIGHT) |
+ G-F8: Paste Rect Overstrike |Window Top|Window Bot|Bkwd Sent |Frwd Sent |
+ F9: Cut Rect Insert +----------+----------+----------+----------+
+ G-F9: Paste Rect Insert
+ F11: ESC +----------+----------+----------+----------+
+ F12: Begining of Line | GOLD |Query Repl| FNDNXT |Del Ent L |
+G-F12: Delete Other Windows | (PF1) | (PF2) | (PF3) | (PF4) |
+ F13: Delete to Begin of Word |Mark Wisel|Other Wind| FIND | UND L |
+ HELP: Keypad Help +----------+----------+----------+----------+
+ DO: Execute extended command | PAGE |Scroll Win|Open Line | DEL W |
+ | (7) | (8) | (9) | (-) |
+ C-a: Beginning of Line |Ex Ext Cmd|Fill Parag|Elim Tabs | UND W |
+ C-b: Switch to Buffer +----------+----------+----------+----------+
+ C-d: Delete Character | ADVANCE | BACKUP | CUT/COPY | DEL C |
+ C-e: End of Line | (4) | (5) | (6) | (,) |
+ C-f: Forward Character | BOTTOM | TOP | Yank | UND C |
+ C-g: Keyboard Quit +----------+----------+----------+----------+
+G-C-g: Keyboard Quit | Fwd Word | EOL | Bwd Word | Change |
+ C-h: Electric Emacs Help | (1) | (2) | (3) | Direction|
+G-C-h: Emacs Help | CHNGCASE | DEL EOL | COPY | |
+ C-i: Indent for Tab +---------------------+----------+ (ENTER) |
+ C-j: Duplicate Word | LINE |SELECT/RES| |
+ C-k: Define Key | (0) | (.) | Toggle |
+G-C-k: Restore Key | Open Line |Center Lin|Insrt/Over|
+ C-l: Learn +---------------------+----------+----------+
+ C-n: Set Screen Width 80
+ C-o: Open Line +----------+----------+----------+
+ C-p: Fill Paragraph | FNDNXT | Yank | CUT |
+ C-q: Quoted Insert | (FIND)) | (INSERT) | (REMOVE) |
+ C-r: Isearch Backward | FIND | | COPY |
+ C-s: Isearch Forward +----------+----------+----------+
+ C-t: Display the Time |SELECT/RES|SECT BACKW|SECT FORWA|
+ C-u: Universal Argument | (SELECT) |(PREVIOUS)| (NEXT) |
+ C-v: Redraw Display | | | |
+ C-w: Set Screen Width 132 +----------+----------+----------+
+ G-a: Append to Kill Buffer
+ G-g: Find File Other Window
+ G-k: Toggle Capitalization Word
+ G-l: Lowercase Word or Region
+ G-u: Uppercase Word or Region
+ G-v: Find File Other Window
+ G-z: Switch to Default EDT Key Bindings
+ G- : Undo (GOLD Spacebar)
+ (describe-function 'edt-user-keypad-help))