Editors

From TEIWiki
Revision as of 10:26, 14 April 2011 by Stuartyeates (talk | contribs) (sed, vi notes)
Jump to navigation Jump to search

Periodically the question of which editor to use for TEI tasks arises on the TEI mailing list. There is no single answer to this question, but this page attempts to help you frame the question correctly.

Before thinking about an editor, you should think about who is going to be using it, how often, for what and where.

Those from a technical background are already likely to have a preferred programmable editor. Those from a non-technical background are likely to be more interested in ease of use. Occasional or temporary users are going to what a program that works as similarly as possible to the other applications they use, whereas full-time permanent users are more likely to get a benefit from more powerful editor, even if it has a learning curve. Projects which use large XML files need to be aware that some editors struggle with large XML files. The sed editor (see below) is a special case, allowing for truly arbitrary sizes. Users who need to edit files directly on remote servers may need vt100-capable editors (emacs, vi, sed, etc).


Editors for TEI, sorted by Beginner-friendliness
Name Operating Systems FLOSS? Explicit support for XML Explicit support for TEI URL Projects Using Beginner-friendliness
(scale 1-10, 1=hard)
Notes
UltraEdit Win, Linux No Yes No [1] 9 customizable for TEI-support; can handle extremely large files; powerful regex/multi-file replace; macro recording
TextPad (4.73) Win No No No [2] TCP 9 PRO: simple interface, powerful regex/multi-file replace, search-in-files, primary and secondary sort, uniq, diff, hotlinked search results, syntax coloring. CON: no utf-8 support.
Emeditor Win No No No [3] TCP 9 PRO: large-file support, utf-8 support, diff.
EditPad Pro Win No No No [4] TCP 8 PRO: UTF-8 support, excellent character-encoding conversions, syntax coloring, regex search/replace, XML 'content folding', handles large files well. CON: no search-in-files, sort, uniq, or diff.
Essential XML Editor (formerly Open XML Editor) Win Yes Yes No [5] 8 Text-based editing, DTD validation, various input encodings but output only in UTF-8, plugin of Saxon XSLT processor and hex editor possible; plugin of Jing, Libxml2 and MSV (W3C-schema, RelaxNG validation) possible only in purchased version
oXygen all (Java) No Yes Yes [6] WWP DHQ 8 Can validate using DTD, W3C schema, RELAX NG, and Schematron; can run XSL transformations on file; WYSIWYG mode using CSS
XMLcopyEditor Win, Ubuntu Yes Yes Yes [7] TCP 7 Free; validates to DTD, XSD, Relax.ng
epcEdit Win, Linux, Solaris No Yes No [8] TCP 7 Free; also supports SGML; feels a bit like XMetaL
jEdit all (Java) Yes Yes Yes [9] NZETC 7 XML use requires plugins, and only supports DTDs
Emacs Mac, Win, Linux, Solaris Yes Yes No [10] NZETC WWP 3 (See also TEIEmacs) Best mode for TEI XML is nXML, using RELAX NG compact schemas. For Mac look for Aquamacs package
vi Mac, Win, Linux, Solaris Yes No No [11] 1 Ships on all POSIX systems (linux, solaris, BSD, etc) as standard, thus the lowest common denominator editor for server configuration
sed Mac, Win, Linux, Solaris Yes No No [12] -1 Handles with ease files a order of magnitude larger than the system RAM
Notepad++ Win Yes [13]
Sacodeyl Annotator all (Java) [14]
Serna Free Yes Yes Yes [15]
TextMate MacOS No No [16] An extension is needed for XML editing
XmlBlueprint Win [17]
XMLmind all (Java) No Yes No [18] A free version exists.
XMLSpy all (Java) No Yes No [19]
XmlWriter Win [20]
Editix Win, Linux, MacOS No Yes No [21] A free Lite version exists.
Exchanger XML Editor all (Java) [22]
EditTEI all (Java) No No No [23] Simple interface, UTF-8, powerful search and replace text and tags, syntax coloring, character-encoding conversions, Word documents importation, tags indexation and displaying, source document displaying, interactive tags management (adding, removing, edit attributes, etc.), document statistics, spell check with your dictionary, documents normalizing, untilding, dissimilation and much more ...

Humour

Tension between emacs and vi users is longstanding and well summarised on the Editor war Wikipedia page. vi was included in the POSIX standard, whereas emacs was not, perhaps because vi was historically available in multiple implementations from multiple vendors. The following cartoon illustrates the commonly-held assumptions that emacs and vi and very powerful but obscure while their competitors make users do all the work.

Copyright (c) 2007 Laurent Gregoire http://tnerual.eriogerg.free.fr/0xBABAF000L/10_en.html