Jump to content

Editor war

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Efitu (talk | contribs) at 01:20, 21 June 2009 (→‎Humor: Er.... Wikipedia:Manual of Style (capital letters)#Mixed_or_non-capitalization ?). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

Editor wars are usually fought between the devotees of the two most popular editors on Unix-like systems: vi and emacs. The arguments usually focus on modern implementations of these two editors, the most popular of which are Vim and GNU emacs. Most users of these systems are familiar with both programs to some extent, knowing them well enough to at least do some basic text editing, and therefore feel they are well-placed to make judgment calls as to which is "better". Both editors are extensive and extremely powerful tools, and have rather steep learning curves, so users must invest a lot of time in getting to initially be able to use and then more to know the editors in depth. This necessary time investment, naturally, can result in more opinionated users.

Differences between vi and Emacs

The most important differences between vi and Emacs are:

  • vi editing retains each permutation of typed keys. This creates a path in the decision tree which unambiguously identifies any command.
  • Emacs commands are a combination of typed keys executed immediately, which leaves the user with the choice of whether or not to use a command.
  • vi is smaller and faster, and (traditionally at least) has limited customization capability.
  • Emacs takes longer to start up and requires more memory. However, it is highly customizable and includes a large number of bells and whistles, as it is essentially a Lisp programming language execution environment which runs a Lisp program designed for text-editing.
  • vi was traditionally used inside of a text-mode console, having no graphical user interface (GUI) (although Vim has one).
  • Whereas Emacs, while initially designed for use on a console, grew a GUI fairly early on. Modern versions of both provide various GUIs.
  • Vi uses distinct editing modes, while Emacs uses metakey chords to achieve a similar effect.


Benefits of vi-like editors

  • Follows a "composition of simple tools" philosophy.
  • Small in size and compatible with the Unix philosophy of "do one thing, and do it well". Avoids featuritis.
  • Faster than Emacs (traditionally at least).
  • Runs on all systems that can implement the standard C library, including UNIX, Linux, 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 to edit.
  • Ubiquitous. Essentially all Unix and Unix-like systems come with vi (or a variant) built-in.

Benefits of Emacs

Humor

Frequently, at some point in the discussion, someone will point out that ed is the standard text editor.

Richard Stallman appearing as St IGNU−cius, a «saint» in the Church of Emacs.

The Church of Emacs, formed by Richard Stallman, is a joke, and 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."[6]) It has its own newsgroup, alt.religion.emacs,[7] that has posts purporting to support this parody religion.

Stallman has jokingly declared himself to be St IGNU−cius, a saint in the Church of Emacs.[8]

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] Others have posited that this acronym in fact means "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), in reference to Emacs's high system resource requirements.

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 of the complexity of Emacs involved predicting what would happen if a user held down a modifier key (such as Control or Alt) and typed his own name.

There is some additional humor that pokes fun at vi at http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html.

Word War vi[10] 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 Emacs flourished. This was due to the importance of conserving memory with the comparatively minuscule amount available at the time. These days, with a plenitude of memory, 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. Namely, 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.

O'Reilly says that its Vim tutorial sells twice as many copies as for Emacs.[11] This has been taken by some to suggest that around twice as many individuals prefer Vim over Emacs. However, others suggest this simply means that those who use Emacs do not need additional help.[citation needed] Both Emacs and Vim are distributed with complete documentation, so purchasing a manual isn't necessary for most users. It is also noted that many advanced programmers use either Emacs and Vim or their various offshoots, including Linus Torvalds who uses MicroEMACS.[12]

In addition to vi and emacs workalikes, pico and its free software clone nano and other editors often have their own third-party advocates in the editor wars, though not to the extent of vi and emacs.

References

  1. ^ "Carbon Emacs Package". Retrieved 2006-09-27.
  2. ^ "Aquamacs is an easy-to-use, Mac-style Emacs for Mac OS X". Retrieved 2006-09-27.
  3. ^ B, Ramprasad (2005-06-24). "GNU Emacs FAQ For Windows 95/98/ME/NT/XP and 2000". Retrieved 2006-09-27.
  4. ^ Borgman, Lennart (2006). "EmacsW32 Home Page". Retrieved 2006-09-27.
  5. ^ "GNU Emacs on Windows". Franz Inc. 2006. Retrieved 2006-09-27.
  6. ^ All about Linux: The unabridged selective transcript of Richard M Stallman's talk at the ANU
  7. ^ alt.religion.emacs newsgroup
  8. ^ Saint IGNUcius - Richard Stallman
  9. ^ satirical expansions of EMACS
  10. ^ Word War vi site
  11. ^ Editor: vi or emacs?
  12. ^ Stifflog: Stiff asks, great programmers answer