Editor War - Differences Between VI and Emacs

Differences Between Vi and Emacs

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, however with less 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 originally 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 also 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.

Read more about this topic:  Editor War

Famous quotes containing the word differences:

    The mother must teach her son how to respect and follow the rules. She must teach him how to compete successfully with the other boys. And she must teach him how to find a woman to take care of him and finish the job she began of training him how to live in a family. But no matter how good a job a woman does in teaching a boy how to be a man, he knows that she is not the real thing, and so he tends to exaggerate the differences between men and women that she embodies.
    Frank Pittman (20th century)