318 lines
19 KiB
Plaintext
318 lines
19 KiB
Plaintext
Newsgroups: comp.editors
|
||
From: rnelson@wsuaix.csc.wsu.edu (roger nelson;S23487)
|
||
Subject: Text editor compendium (LONG)
|
||
Message-ID: <1993Jan25.233032.17317@serval.net.wsu.edu>
|
||
Organization: Washington State University
|
||
Date: Mon, 25 Jan 93 23:30:32 GMT
|
||
Lines: 310
|
||
|
||
A number of people often post questions asking for editors which have
|
||
certain features.
|
||
|
||
I have been working on a summary of features available in a few
|
||
editors. The summary is organized in a tabular check-sheet format
|
||
listing features available for various text editors with a general indication
|
||
of how well the feature/command is supported with respect to other
|
||
editors.
|
||
|
||
Perhaps this table (when further filled in) might be useful
|
||
addition to the comp.text.editors FAQ.
|
||
|
||
I would like to hear comments, and suggestions for additional features,
|
||
and table entries for additional editors.
|
||
Fill out a table column for your favorite editor and send it to me,
|
||
and I will add it to the compendium and submit it to Ruben Olson for
|
||
possible inclusion in the archive.
|
||
|
||
The table is listed first followed by footnotes, followed by a detailed
|
||
description of the features listed in the first column.
|
||
|
||
TEXT EDITOR COMPENDIUM
|
||
|
||
The following is a tabular cross reference of text editors that are available
|
||
on a variety of computers/operating systems.
|
||
|
||
Send additions, changes and comments to Roger Nelson:
|
||
|
||
rnelson@wsuaix.csc.wsu.edu
|
||
Codes:
|
||
|
||
y The editor supports this feature
|
||
n The editor doesn't support this feature at all
|
||
+ The editor supports this better than most editors
|
||
- The editor supports this but not very well other editors do better
|
||
~ The editor does this another way but not necessarily better
|
||
! The editor does this another way better
|
||
M The editor comes with a macro to do this
|
||
m A macro could be written to do this
|
||
O Optional (the feature may be enabled/disabled somehow)
|
||
? Don't know
|
||
y?/n? Don't know for sure
|
||
NA Not applicable or unnecessary with the editing model
|
||
number see footnote
|
||
#number The editor supports this number of X's (Ie number of buffers)
|
||
#! The editor supports an unlimited number of X's
|
||
|
||
For example: Support of regular expressions,
|
||
|
||
Vi has very good support of regular expressions so it would get a 'y+'
|
||
The borland compiler text editors offer regular expression searching,
|
||
but only a subset of options, this would qualify for a 'y'.
|
||
An editor offering wild cards (Ie * or ?) would qualify for 'n-' or
|
||
may be a '~'.
|
||
An editor which has a search string construction interface that makes
|
||
regular expression like searches easier would get a '!'.
|
||
|
||
|
||
| | | | | | | | | | |u | | | | | | |
|
||
| |FE| | | |X | |B |C |T |E | | | | | | |
|
||
| |UM| |S |R |E | |R |R |u |M | | | | | | |
|
||
| |LA|E |E |E |D |TE|I |I |r |A | | | | | | |
|
||
Feature |v |LC|D |D |D |I |PV|E |S |b |C | | | | | | |
|
||
|i | S|T |T |T |T |UE|F |P |o |S | | | | | | |
|
||
-------------------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||
Modal (like vi) |y |n |n |n |n | | | | |n | | | | | | | |
|
||
Prog. lang senstive mode |n |y |n |n |n | | | | |y | | | | | | | |
|
||
Match parenthesis mode |y |y |n |n |y | | | | |y | | | | | | | |
|
||
Append file to buffer | | | | |y | | | | |n | | | | | | | |
|
||
Auto. indentation mode | | | | |y | | | | |y | | | | | | | |
|
||
Simple tallying |n |n |n |n |1 |n | | | |n | | | | | | | |
|
||
User defined tabs |n | |n |y |y |y?| | | |y~| | | | | | | |
|
||
User defined margins |y | |n |y |y |y | | | |n | | | | | | | |
|
||
Auto-wrap (CR inserted) |y |y | | |n | | | | |n | | | | | | | |
|
||
Multiple rulers |NA| |NA|#9|#9| | | | |NA| | | | | | | |
|
||
Editable rulers or tabs |- | |- |y+|y+|y+| | | |~ | | | | | | | |
|
||
Allows backward search |y | |y |y |y |y | | | |y | | | | | | | |
|
||
Case insensitive search |n | |y |y |n |y | | | |y | | | | | | | |
|
||
Case sensitive search |y | |y |y |y |y | | | |y | | | | | | | |
|
||
Wildcard search |! |n |n |n |y |y | | | |n | | | | | | | |
|
||
Regular expression search|+ |+ |n |n |+ |n?| | | |y | | | | | | | |
|
||
Incremental find |n |y |n |n |y |n | | | |n | | | | | | | |
|
||
Cont. inc find |n |y?|n |n |y |n | | | |n | | | | | | | |
|
||
Center line |n | |n |y |y |n | | | |n | | | | | | | |
|
||
Multiple buffers (12)|- |+ |n |y |y |n?| | | |y | | | | | | | |
|
||
Pulldown/popup menus |n |n |n |n |yO|n | | | |y | | | | | | | |
|
||
Other Menus |n |y |n |n |y~|n | | | |y | | | | | | | |
|
||
Command line mode like ex|y |~ |y |~ |~ |y | | | |n | | | | | | | |
|
||
Cut/paste regions |n |y |y |y |y |n | | | |y | | | | | | | |
|
||
Columnwise cut/paste |n |M?|n |y |y |n |m?| | |n | | | | | | | |
|
||
Command keys redefinable |-?|y |-?|y |y |n |y | | |n?| | | | | | | |
|
||
Delete character |y |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Delete word |y |y |y |y |y |n |y | | |y | | | | | | | |
|
||
Delete line |y |y |n?|n?|y |y |y | | |y | | | | | | | |
|
||
Delete to EOL |n?| |y |y |~ |y |y | | |n | | | | | | | |
|
||
Change filename w/o save |n | |n |n |y |n |n | | |n | | | | | | | |
|
||
Enter ASCII codes by # |- | |y |y |y |n |y?| | |y | | | | | | | |
|
||
Exit and save |y |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Search and replace (10) |~ |! |~ |~ |~ |~ | | | |y | | | | | | | |
|
||
Replacement prompting |n |y |y?|y |y |n |y | | |y | | | | | | | |
|
||
Continue search |y | |y |y |y |- |y | | |y | | | | | | | |
|
||
Format paragraph |n |m?|n |y |y |n |m?| | |n | | | | | | | |
|
||
Insert file at cursor |n |y |y |y |y |n |y | | |y | | | | | | | |
|
||
Goto begin of file. |y | |y |y |y |y |y | | |y | | | | | | | |
|
||
Goto end of file. |y | |y |y |y |y |y | | |y | | | | | | | |
|
||
Goto left margin. |NA| |NA|n |y |n | | | |NA| | | | | | | |
|
||
Goto right margin. |n | | |n |y |n | | | |NA| | | | | | | |
|
||
Goto begin of line. |y |y | | |y |y | | | |y | | | | | | | |
|
||
Goto end of line. |y |y | | |y | | | | |y | | | | | | | |
|
||
Goto bottom of screen. | |y | | |y |- | | | |n | | | | | | | |
|
||
Goto middle of screen. | |y | | |n |- | | | |n | | | | | | | |
|
||
Goto top of screen. | |y | | |y |- | | | |n | | | | | | | |
|
||
Goto column number | | | | |y |n | | | |n | | | | | | | |
|
||
Goto line number |y |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Online manual |~ |y |y |y |y |- |y | | |+ | | | | | | | |
|
||
Context sensitive help |n |y?| |n |n-| | | | |+ | | | | | | | |
|
||
Insert space |n | |n |n |y |y |n | | |n | | | | | | | |
|
||
Open blank line before |y | |y?|y?|y |y | | | |n | | | | | | | |
|
||
Open blank line after |y | |y |y |y |y |y | | |n | | | | | | | |
|
||
Insert/Overwrite mode |y |y |n?|y |y |n | | | |y | | | | | | | |
|
||
Invert case char |y |y |y |y |y |n |y | | |n | | | | | | | |
|
||
Invert case region |n | |y |y |y |n |y | | |n | | | | | | | |
|
||
Uppercase char |n | |n |n |y |n | | | |n | | | | | | | |
|
||
Uppercase region |n | |n |n |y |n | | | |n | | | | | | | |
|
||
Lowercase char |n | |n |n |y |n | | | |n | | | | | | | |
|
||
Lowercase region |n | |n |n |y |n | | | |n | | | | | | | |
|
||
Join lines |y | |! |! |y |y | | | |! | | | | | | | |
|
||
Split lines |y | |! |! |y |y | | | |! | | | | | | | |
|
||
Save/recall keystrokes |- |y?|n |y |y |n |y | | |n | | | | | | | |
|
||
Load file (replacing text| | | |y |y | | | | |y | | | | | | | |
|
||
Save/Load rulers |NA| |NA|y |y |? | | | |n | | | | | | | |
|
||
Goto begin next line |y | | | |y |n | | | |n | | | | | | | |
|
||
Goto begin prev line | | | | |y |n | | | |n | | | | | | | |
|
||
Move cursor up by page |y |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Move cursor dn by page |y |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Move to next word |y |y |y~|y~|y |n |y | | |y | | | | | | | |
|
||
Move to prev word |y?|y |y~|y~|y |n |y | | |y | | | | | | | |
|
||
4-way scrolling/panning |n |- |n |y |y |- |- | | |y | | | | | | | |
|
||
Query key (show key bind)|n |n |n |n |y |n |n | | |n | | | | | | | |
|
||
Abort editing session |y |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Refresh the screen. |y |y |y |y |y |y |y | | |NA| | | | | | | |
|
||
Save w/ new name |y |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Save macros to file | |y | |n |y |y | | | |n | | | | | | | |
|
||
Save region to file. |NA|y?|y |y |y |NA|y | | |y | | | | | | | |
|
||
Send select text to shell|n |y?|n |n |y |n | | | |n | | | | | | | |
|
||
Spawn a new process/shell|~ |+ |y?|y |y |n |y | | |y | | | | | | | |
|
||
Execute a system command.|y |+ |y |n |y |+ |? | | |+ | | | | | | | |
|
||
Sort by selected columns |n |m?|n |n |y |y | | | |n | | | | | | | |
|
||
Spell check buffer |m?|y?|n |n |y |n | | | |n | | | | | | | |
|
||
Spell check select text |m?|y?|n |n |n |n | | | |n | | | | | | | |
|
||
Tab to next tab position.|NA| |y |y |y |y | | | |y | | | | | | | |
|
||
Transpose character | |y |n |n |y | | | | |n | | | | | | | |
|
||
Transpose line | |y |n |n |y |~ | | | |n | | | | | | | |
|
||
Trim leading spaces |n |n |n |n |y |n | | | |n | | | | | | | |
|
||
Trim trailing spaces |n |n |n |n |y |n | | | |n | | | | | | | |
|
||
Automatic trim trailing |n |n |n |y?|n |O?| | | |y | | | | | | | |
|
||
Undelete char (own buff.)|n |y?|y |y |y |n | | | |n | | | | | | | |
|
||
Undelete word (own buff.)|n |y?|y |y |y |n | | | |n | | | | | | | |
|
||
Undelete line (own buff.)|n |y?|y |y |y |n | | | |- | | | | | | | |
|
||
Abort text region select |NA|y?|y |y |y |n | | | |y | | | | | | | |
|
||
Clear buffer | | | | |y | |y | | | | | | | | | | |
|
||
Repeat last cmd (+ multi)|+ | |n |n |n~|- | | | |n | | | | | | | |
|
||
Repeat next cmd (+ multi)|+ | |+ |+ |n |n |+ | | |n | | | | | | | |
|
||
Repeat mult. cmds (macro)|n |y |n |y |y |n |y | | |n | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Highlight selected text |NA|n-|y |y |y |n |y | | |y | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Markers |y |y |y?|y |n |n | | | |y | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Folding Editor |n |n |n |n |n |- |n | | |n | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Scroll/insert after EOL |n |M?|n |y |y |y |y?| | |y | | | | | | | |
|
||
Scroll/insert after EOF |n |M?|n |y |n |- |y?| | |y | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Has limited line length |y |n |y |y |y |O?|n?| | |y | | | | | | | |
|
||
Has limited on rows (12)|y | | | |y | | | | |y | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Larger window sizing (11)|y?|Y |n?|n?|y |? |? | | |n | | | | | | | |
|
||
Smaller window sizing |y?|y |n |n |y |? |? | | |Y | | | | | | | |
|
||
Window sizable (initial) |y-|y |n |n |y |n | | | |y | | | | | | | |
|
||
Window resizable |y-|y |n |n |y4|n | | | |y | | | | | | | |
|
||
Multiple windows (12)|n |y |n |y |n |n |#2| | |y | | | | | | | |
|
||
Columnwise windows |n |n |n |n |n |n |n | | |y | | | | | | | |
|
||
Rowwise windows |n |y |n |y |n |n |n | | |y | | | | | | | |
|
||
Undo last command |- |y |y |y |y | |y | | |- | | | | | | | |
|
||
Undo line changes |y |y |n |n |n | | | | |n | | | | | | | |
|
||
Undo historically |n |y |n |n |n |n | | | |n | | | | | | | |
|
||
Multiple views of buffer |n |y |n |y |- |? |y | | |y | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Automatic backup |n | |y |O |n |y |y | | |y | | | | | | | |
|
||
Periodic backup |n | |n |y |y |y |y | | |n | | | | | | | |
|
||
Interrupt recovery |y | |y |y |n |n |y | | |n | | | | | | | |
|
||
Keeps session environ. |n |y |n |- |- |- |m | | |+ | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Status line(s) |~ |y |n |y |yO|y |y?| | |y | | | | | | | |
|
||
Support slow terminals |y |n?|y |n |y |n |y | | |NA| | | | | | | |
|
||
Support various terms. |y |y |y-|y-|y |n |y-| | |NA| | | | | | | |
|
||
Supports keypads |n |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Supports func. keys |n |y |y |y |y |y |y | | |y | | | | | | | |
|
||
Display line nums option |y |~ |n |~ |~ |y |~ | | |~ | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Scripting language |y |y |n |? |y-|y |y | | |n | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
Mouse support (some vers)|n |y |n |y |y |n |n | | |+ | | | | | | | |
|
||
Source provided (avail.) |n |y |n |n |y |n |n | | |! | | | | | | | |
|
||
| | | | | | | | | | | | | | | | | |
|
||
|
||
The following table indicates version availability for various machines.
|
||
|
||
Y+ The version supports almost all basic functions plus some extensions
|
||
Y The version supports almost all basic functions
|
||
y The version supports most basic functions and may have some extensions
|
||
or there is another editor (clone) which supporst most basic function.
|
||
y- The version supports most basic functions and has some restrictions
|
||
n+ There is no specific version, but there exists another editor
|
||
with very similar features that supports many basic functions.
|
||
n There is no similar editor available.
|
||
? It is possible that the could compile and run on this machine with
|
||
little or no modification.
|
||
- Versions are only available for specific models/version of this
|
||
machine/OS.
|
||
|
||
| | | | | | | | | | |u | | | | | | |
|
||
| |FE| | | |X | |B |C |T |E | | | | | | |
|
||
| |UM| |S |R |E | |R |R |u |M | | | | | | |
|
||
| |LA|E |E |E |D |TE|I |I |r |A | | | | | | |
|
||
Feature |v |LC|D |D |D |I |PV|E |S |b |C | | | | | | |
|
||
|i | S|T |T |T |T |UE|F |P |o |S | | | | | | |
|
||
-------------------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|
||
VAX/VMS |y |Y |Y |Y |? |n |y | | |n | | | | | | | |
|
||
UNIX |Y |y |y |- |Y |y |- | | |n | | | | | | | |
|
||
X windows versions |n |Y |? |n |Y+|? |? | | |n | | | | | | | |
|
||
MS/DOS |y |y |n+|Y |n |y-|n | | |Y | | | | | | | |
|
||
OS2 | | | | |n | | | | |y?| | | | | | | |
|
||
MacIntosh | | | | |n | | | | |n | | | | | | | |
|
||
Amiga |y |y+|n |n |Y+|n |n | | |n | | | | | | | |
|
||
Atari |y |y |n |Y |n |n |n | | |n | | | | | | | |
|
||
|
||
The term 'buffers' (as in multiple buffers) refers to the editors' ability to
|
||
maintain multiple file editing sessions simultaneously
|
||
|
||
1 REDT can tally columns of numbers. Count, sum, average registers can be
|
||
inserted in the text.
|
||
2 To qualify for cut/paste regions, the editor must be able to start/stop
|
||
at a column within a line. Vi and Xedit multiple line delete/copy doesn't
|
||
qualify.
|
||
3 REDT uses columwise like region selection to define the sort key.
|
||
Previous line orientation is preserved so that multiple key sorts
|
||
are possible.
|
||
4 REDT window resizing is supported in the Amiga and X windows version.
|
||
|
||
(10) EDT,SEDT,and REDT offer interactive search and replace, but not
|
||
regular expressions. Vi offers regular expressions but not interactive
|
||
search and replace. Borlands editors do this very well
|
||
|
||
(11) Does the editor offer window resizing greater than 80x25 if the
|
||
terminal (Ie Xwindow) supports it? Can windows be made smaller than
|
||
80x25?
|
||
|
||
SEDT and EVE/TPU will half window sizes for split screen and will
|
||
extend window columns for 132 column mode terminals.
|
||
|
||
EDT supports 132 column terminals.
|
||
|
||
Vi may or may not size to the terminal's screen size depending on the
|
||
implementation.
|
||
|
||
Stevie (amiga and Atari?ST versions can be dynamically resized).
|
||
|
||
EMACS resizes windows for split screens and will size windows for
|
||
Xwindows.
|
||
|
||
REDT will automatically size to the terminal screen size at startup
|
||
but cannot be resized. The Amiga and Xwindow versions can be resized
|
||
dynamically.
|
||
|
||
(12) Max Max Max Max
|
||
Editor Cols Rows Buffers Windows
|
||
|
||
VI 160? ? ? 1
|
||
EMAX nolim? ? ? nolim
|
||
EDT ~400? ? 1 1
|
||
SEDT ~400? ? 9 2
|
||
REDT adjust ~50000 9 1
|
||
XEDIT adjust nolim? 1 1
|
||
EVE nolim? nolim? nolim? 2
|
||
BORLAND ~130 nolim? nolim nolim
|
||
|
||
adjust - The user may adjust this limit before or during the editing
|
||
session.
|
||
|
||
nolim - Limited only by available memory or other hardware limitations
|
||
or a generally large arbitrary number.
|
||
|
||
To qualify as having multiple buffers, the user should be able to (at
|
||
least) easily move between buffers, and cut/paste (yank/put) text.
|
||
|
||
|
||
_____________________________________________________________________
|
||
______________
|
||
____ | ^ | Roger Nelson rnelson@wsuaix.csc.wsu.edu
|
||
\^^ | | ^ | Biological Systems Engineering Department
|
||
|^^// ^^ |
|
||
| ' ^ +|<---Washington State University
|
||
\_ ^ _________| Pullman, WA 99164-6120
|
||
`-----' Work: (509)335-4714 Home: (509)332-8387
|
||
FAX: (509)335-2722
|
||
|
||
|
||
|