EMACS allows simple editing of files, and much more. One can
simultaneously edit several files, each in separate windows,
manipulate characters, words, lines, and paragraphs all with relative ease.
EMACS also has custom modes that enable programmers to edit
text files containing source code written in any of the more
popular programming languages in a language sensitive manner.
It allows the programmer the flexibility of
compiling programs without leaving the editor, and of having compiler
error messages appear, along with the corresponding source code
to a program currently under development, in a split window
environment. If all this is not enough EMACS allows the user
almost infinite flexibility in defining new modes and commands to
customize the editor in any way that one desires. It should be made
clear that, in general, this is not a skill that one can learn
overnight. While the basics of editing in EMACS (it comes with a
tutorial) can be mastered rather quickly, the advanced features and
the customization of EMACS requires serious study of the editor.