Ecce is a programmed command-line editor which is compact to implement, easy to learn, and very powerful to use.

Ecce was originally written by Hamish Dewar in June 1970 for the PDP9/15 system.  The original Imp version was followed by an even more tightly-coded port to the PDP-8 in assembler.  Many versions were subsequently derived from the original Imp source.  Ecce is probably the most ported program from Edinburgh and is still in daily use all over the world.



=== Ecce ===
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/e915.imp.html Ecce for the PDP9/15, 1975]
   * [http://history.dcs.ed.ac.uk/archive/os/emas/emas2/deimos/old/edits.imp.html (Deimos version)]
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/ECCEPDP8.TXT Ecce for the PDP-8, 4/5/73] in PDP-8 assembler with [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/ecce8.txt brief manual]
 * [http://history.dcs.ed.ac.uk/archive/scans/ecce/ecce.html Original Ecce manual] (scanned) by Lee Smith
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/ldsecce.html Original Ecce manual bu Lee Smith, 1978]
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/hmdecce.html Revised Ecce manual by Hamish Dewar, 1982]
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/ecce-emas.hlp.txt Ecce online help (EMAS, 31/05/88)]
 * [http://history.dcs.ed.ac.uk/archive/os/emas/users/ecslib/emas-a/neweds.txt Edinner] for EMAS/4-75 - this is a version of Ecce as a callable procedure.  The editing code makes heavy use of embedded assembly code in Imp for efficiency.
   * [http://history.dcs.ed.ac.uk/archive/os/emas/emas3/subsystem/old/ecce69.imp Edinner] for EMAS-3 (Amdahl, includes embedded assembler) and Sequent Unix, 1989
 * [http://www.gtoal.com/athome/edinburgh/ecce/gtoal/ecinner.c.html Ecinner] in C; this is a different kind of callable procedure; rather than the above which invokes an interactive editor, this version executes an ecce command string on a C string.  This is intended to be used in programs for complex data manipulation rather than for human-driven text editing.  It can for example take the place of regexp substitutions in many circumstances.
=== Vecce ===
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/vecce/vecce-50.imp.html Vecce source code V5.0 - EMAS/APM/VAX portable source]
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/vecce/vms-krefson/vecce/s/xecce.imp.html Vecce source code V7.0]
 * [http://history.dcs.ed.ac.uk/archive/apps/ecce/hmd/ecce-apm.html Ecce For Videos manual (APM version, 1983)]
