6 Some Highlights, and Comparisons to the Original Emacs EDT Emulation
- 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 when the sample edt-user.el
customization file 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
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 (
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 the sample
edt-user.el customization file is used.
- Direction support is fully supported.
- All original Emacs bindings are fully restored when EDT emulation is
turned off. So, if a fellow worker comes over to your terminal to help
you with a software problem, for example, and is completely confused by
your EDT emulation bindings, just enter the command,
edt-emulation-off, at the ‘M-x’ prompt and the original
Emacs bindings will be restored. To resume the EDT emulation, just
- 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 EDT bindings.
- 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 to be easier to use.
- 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)
in your .emacs file. Or, you can used the Emacs customize
command to change its setting.
- 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
- 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 their own liking.
- EDT's ‘FIND’ and ‘FNDNXT’ are supported.
- EDT's ‘APPEND’, ‘REPLACE’, and ‘SUBS’ commands are supported.
- ‘CHNGCASE’ is supported. It works on individual characters or
selected text, if ‘SELECT’ is active. In addition, two new
commands are provided:
They work on individual words or selected text, if
‘SELECT’ is active.
- Form feed and tab insert commands are supported.
- 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 file.
- 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 default EDT mode.
- 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.
- 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
- 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.
- Each user, through the use of a private edt-user.el file, can
customize, very easily, personal EDT emulation bindings.
- 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’
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 file.
- EDT scroll margins are supported, but are disabled by default.
(Scroll margins for instructions on how to enable them.)