Editor war
Editor war is the common name for the rivalry between users of the vi and Emacs text editors. The rivalry has become a lasting part of hacker culture and the free software community.
Many flame wars have been fought between groups insisting that their editor of choice is the paragon of editing perfection, and insulting the others. Unlike the related battles over operating systems, programming languages, and even source code indent style, choice of editor usually only affects oneself.
Differences between vi and Emacs
This section needs additional citations for verification. (September 2011) |
The most important differences between vi and Emacs are presented in the following table:
vi | Emacs | |
---|---|---|
Keystroke execution | vi editing retains each permutation of typed keys. This creates a path in the decision tree which unambiguously identifies any command. | Emacs commands are key combinations for which modifier keys are held down while other keys are pressed; a command gets executed once completely typed. This still forms a decision tree of commands, but not one of individual keystrokes. |
Memory usage and customizability | Historically, vi is a smaller and faster program, with a more limited capacity for customization. | Emacs takes longer to start up and requires more memory. However, it is highly customizable and includes a large number of features, as it is essentially an execution environment for a Lisp program designed for text-editing. |
User environment | vi was exclusively used inside of a text-mode console, offering no graphical user interface (GUI). Most modern vi derivatives, e.g. MacVim and gVim, include full-featured GUIs. | Emacs, while initially designed for use on a console, grew a GUI fairly early on. |
Function/navigation interface | vi uses distinct editing modes. | Emacs uses metakey chords. |
Benefits of vi-like editors
- Historically, vi is faster than Emacs.
- Runs on all systems that can implement the standard C library, including UNIX, Linux, AmigaOS, DOS, Windows, Mac, BeOS, and POSIX-compliant systems.
- Allows users of the QWERTY keyboard to keep their fingers on the home row, thus requiring less movement and less time to edit.
- Ubiquitous. Essentially all Unix and Unix-like systems come with vi (or a variant) built-in.
Benefits of Emacs
- One of the most ported non-trivial computer programs. It runs on a wide variety of operating systems, including most Unix-like systems (GNU/Linux, the various BSDs, Solaris, AIX, IRIX, AmigaOS, Mac OS X[1][2] etc.), MS-DOS, Microsoft Windows[3][4][5] and OpenVMS. Unix systems, both free and proprietary, frequently provide Emacs bundled with the operating system.
- Extensible and customizable (Lisp programming language variant—Emacs Lisp), with features that include:
Humour
Frequently, at some point in the discussion, someone will point out that ed is the standard text editor.[6]
The Church of Emacs, formed by Richard Stallman, is a joke. While it refers to vi as the "editor of the beast" (vi-vi-vi being 6-6-6 in Roman numerals), it does not oppose the use of vi; rather, it calls proprietary software an anathema. ("Using a free version of vi is not a sin but a penance."[7]) It has its own newsgroup, alt.religion.emacs,[8] that has posts purporting to support this parody religion.
Supporters of vi have created an opposing Cult of vi, argued by the more hardline Emacs users to be an attempt to "ape their betters".
Regarding vi's modal nature, some Emacs users joke that vi has two modes – "beep repeatedly" and "break everything". vi users enjoy joking that Emacs's key-sequences induce carpal tunnel syndrome, or mentioning one of many satirical expansions of the acronym EMACS, such as "Escape Meta Alt Control Shift" (a jab at Emacs's reliance on modifier keys).[9]
Parody expansions of Emacs acronym include "Eight Megabytes And Constantly Swapping" (in a time when that was a great amount of memory) or "EMACS Makes Any Computer Slow" (a recursive acronym like those Stallman uses) or "Eventually Munches All Computer Storage", in reference to Emacs's high system resource requirements. The Emacs distribution includes the full list.[10]
As a poke at Emacs' creeping featurism, vi advocates will describe Emacs as "a great operating system, lacking only a decent editor".
A game among UNIX users, either to test the depth of an Emacs user's understanding of the editor or to poke fun at the complexity of Emacs, involved predicting what would happen if a user held down a modifier key (such as Control or Alt) and typed their own name.
Word War vi[11] is a humorous Defender-like shoot 'em up based on the editor war.
Current state of the editor war
In the past, many small editors modeled after or derived from vi flourished. This was due to the importance of conserving memory with the comparatively minuscule amount available at the time. As computers have become more powerful, many vi-alikes, Vim in particular, have grown in size and code complexity. These vi variants of today, as with the old light Emacs variants, tend to have many of the perceived benefits and drawbacks of the opposing side. For example, Vim without any extensions requires about ten times the disk space as vi, and recent versions of Vim can have more extensions and run slower than past versions of Emacs. Moreover, with the large amounts of RAM in modern computers, both vi and Emacs are lightweight compared to large IDEs such as Eclipse, which tend to draw derision from both vi and Emacs users alike.
Tim O'Reilly said, in 1999, that O'Reilly Media's tutorial on vi sells twice as many copies as that on Emacs (which could mean either that vi is more popular or harder to learn).[12] Many advanced programmers use either Emacs and vi or their various offshoots, including Linus Torvalds who uses MicroEMACS.[13]
In addition to vi and emacs workalikes, pico and its free and open source clone nano and other text editors often have their own third-party advocates in the editor wars, though not to the extent of vi and emacs.
References
- ^ "Carbon Emacs Package". Retrieved 2006-09-27.
- ^ "Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X". Retrieved 2006-09-27.
- ^ B, Ramprasad (2005-06-24). "GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000". Retrieved 2006-09-27.
- ^ Borgman, Lennart (2006). "EmacsW32 Home Page". Retrieved 2006-09-27.
- ^ "GNU Emacs on Windows". Franz Inc. 2006. Retrieved 2006-09-27.
- ^ Ed, man! !man ed
- ^ All about Linux: The unabridged selective transcript of Richard M Stallman's talk at the ANU
- ^ alt.religion.emacs newsgroup
- ^ satirical expansions of EMACS
- ^ Eric S. Raymond (2004). The art of Unix programming. Addison-Wesley Professional. p. 343. ISBN 978-0-13-142901-7. Retrieved 17 December 2011.
- ^ Word War vi site
- ^ Editor: vi or emacs?
- ^ Stifflog: Stiff asks, great programmers answer
See also
External links
- Emacs Wiki, community site dedicated to documenting and discussing Emacs
- Church of Emacs resources
- Rules, Sins, Virtues, Gods and more of The Church of Emacs
- Saint Ignucius — as portrayed by Richard Stallman
- Vi Lovers Home Page
- $EDITOR sucks-rules-o-meter measures which editor's activists are more visible on the Web
- A transcript of Richard introducing St. IGNUcias and the Church of Emacs
- Emacs stuff comparator