Editor war |
The editor war is an ongoing debate in the computer programming community about which text editor is best for their general purposes. The two largest camps are those favoring Vi and those favoring Emacs.
The Hacker culture has a tradition of treating their favored piece of software with a reverence bordering on religious fanaticism, and few pieces of software are more universal than text editors. Many flame wars have been fought between groups insisting that their editor of choice is the paragon of editing perfection, and insulting the others. Most participants in these arguments recognize that it is (mostly) tongue-in-cheek. There are related wars over operating system advocacy and programming languages, all the way down to such trivial things as source code indent style.
Editor wars are usually fought between the devotees of Emacs and vi, the two most popular editors on Unix and Unix-like operating systems. Most *nix users and programmers use one or the other of these editors. Many are familiar with both, at least enough to get around, and so feel they are well-placed to make judgment calls as to which is better .
Frequently at some point in the discussion, someone will point out that Ed is the standard text editor .
The Church of Emacs formed by Richard Stallman is a joke, and while it refers to vi vi vi (which is 666 in roman numerals) as the editor of the beast , it does not oppose the use of vi; rather, it calls proprietary software anathema. ( Using a free software version of vi is not a sin, it is a penance. ) It has its own newsgroup, alt.religion.emacs. Stallman has jokingly declared himself to be St IGNUcius, a Saint in the Church of Emacs.
vi lovers have created an opposing Cult of vi, which some Emacs users call, Clearly a miserable attempt to ape their betters.
=Perceived benefits of Emacs=
*Emacs has a much larger set of available commands than any of the vi-like editors. *Emacs is scriptable in a variant of Lisp programming language (Emacs Lisp) and has many plug-ins such as the Gnus newsreader and various software development tools. *Emacs includes vi, in the form of viper-mode. (Note that vi is not Vim (text editor). Emacs does not include vim.) *Emacs doesn t require switching between command and input mode. *GNU Emacs can perform computations with some calendars, such as Maya calendar or Discordian calendar, which are not supported by the vi-like editors. *Special editing modes for 25 programming languages including Java programming language, Perl, C programming language, C plus plus, Objective C, Fortran, Lisp, Scheme programming language, and Pascal programming language. *Special scripting language modes for Bash, other common shells, and creating Makefiles for GNU/Linux, Unix, Microsoft Windows/DOS and OpenVMS systems. *Support for typing and displaying in 21 non-English languages, including Chinese, Czech, Hindi, Hebrew, Russian, Vietnamese and all Western European languages. *Creates PostScript output from plain text files and has special editing modes for LaTeX and TeX *Debug from inside Emacs *Maintain program ChangeLogs *Extensive file merge and diff functions *Directory navigation: flag, move and delete files and sub-directories recursively. *Use Emacs as a shell itself ([http://www.newartisans.com/johnw/eshell.html Eshell]]) *Version control management for release and beta versions, with Concurrent Versions System and Revision Control System integration and much more! *Emacs is a better examplar of the Unix philosophy in that users can simply add a mode (or really, a program) to the existing implementation of emacs by taking advantage of the Emacs Lisp interpreter, whereas vi users have to create an entirely new version of vi, leading to a messy monolithic crufty program; in this view (held by Eric S. Raymond among others), Emacs is not so much a program but a portable framework in which modules are added together as needed.
=Perceived benefits of vi-like editors=
*vi commands are entered largely without the use of modifier keys such as Ctrl or Alt. Some users find this reduces wrist strain (see repetitive strain injury). *vi is smaller than Emacs. See Creeping_featurism. *vi s presence in Unix based operating systems is guaranteed as part of the POSIX standard. *vi blends naturally with the Unix environment and you can use all the standard Unix commands that you are already familiar with, or on all sections of your edit buffer. *vi conforms with Unix design and philosophy (for instance, small is beautiful as opposed to big is beautiful ). Unix does not advocate building Swiss Army knives , rather, the right tool for the right job. Emacs is very much a Swiss Army knife of an editor, and belongs to the big is beautiful camp. There is a reason for this: Emacs has roots in the Text Editor and Corrector editor on the Incompatible Timesharing System & TOPS-10 operating systems, which predate Unix. *Unlike Emacs, which quite typically is heavily customized by its advanced user, vi is intentionally what you see is what you get (pretty much everywhere) . For instance, advanced Emacs users would not feel they quite have their Emacs if their profile or customizations is not available to them in a given environment. This is hardly ever the case with vi which is pretty much standard, and blends naturally with the Unix environment and commands. *vi works better with terminals; while this is not as important as it used to be, sometimes this ability is still a factor, such as when system problems have reached the point where the Graphical_user_interface cannot be started, so one has only a severely limited Computer console environment. Also, many people still prefer a console environment for complex tasks. *Compile and debug code from within vim using :m[a]ke, :cl, and similar commands. (This functionality is not available within vi proper.) Note that debugging code from within the text editor is also a perceived benefit of Emacs over vi. This illustrates the subjective nature of the conflict.
=Confusing the issue=
In ages past, lots of small emacsen, or at least small editors modelled after Emacs, flourished. This was due to the importance of conserving memory with the comparatively miniscule amount available in those days. These days, with a plentitude of memory, many vi-alikes, especially vim, are growing to previously unthinkable proportions.
The old lite Emacsen, as well as the elephantine vi s of today, tend to have many of the perceived benefits and drawbacks of the opposing side.
=Reference=
*Eric S. Raymond [http://www.catb.org/~esr/writings/taoup/html/ The Art of UNIX Programming ], 2003, ISBN 0-131-42901-9
=External links=
*news:alt.religion.emacs *news:comp.editors ([http://groups.google.com/groupsq=comp.editors&ie=UTF-8&oe=UTF-8&hl=en&btnG=Google+Search comp.editors at Google Groups]) *[http://www.dina.dk/~abraham/religion/ Church of Emacs resources] *[http://www.gnu.org/fun/jokes/gospel.html Rules, Sins, Virtues, Gods and more of The Church of Emacs ] *[http://stallman.org/saint.html Saint Ignucius] — as portrayed by Richard Stallman *[http://www.splange.freeserve.co.uk/misc/vi.html The Cult of vi] *[http://www.tarunz.org/~vassilii/srom/ $EDITOR sucks-rules-o-meter] measures which editor s activists are more visible on the Web *[http://www.gnu.org/fun/jokes/ed.msg.html Ed is the standard text editor] *[http://hackles.org/archives-2001.html Hackles - Strip Archives 2004] **[http://hackles.org/cgi-bin/archives.plrequest=92 Hackles unwittingly starts a text editor holy war.] **[http://hackles.org/cgi-bin/archives.plrequest=93 The text editor holy war continues: What does Katrina use] **[http://hackles.org/cgi-bin/archives.plrequest=94 The text editor holy war continues: Marcus doesn t get it.]|
|