I have to agree with David that the pico/nano interface is too
simplistic, but for the uninitiated newbie, it's a functioning editor
with the HOWTO staring at you from the bottom of the screen.  It would
be interesting to see a high-level pro/con comparison of the different
editors.  Anyway, here are my impressions, as biased as they are:

== vi and vim ==
As a child of the single line editor 'ed', vi gained popularity quickly
with its full-screen multi-line editing.  vi retained ed's mode
switching paradigm, which reduced the importance of using a META-key to
execute commands.  To move your cursor in vi, you enter the COMMAND
mode and use the keys on home row.  To insert and modify text, you enter
the EDIT mode with the a, o, and i keys.  The result is an economy of
keystroke design, which saves coder's pinky fingers from constantly
reaching for the META-key (CONTROL in most cases).

Vi also sports mutiple buffers, regular expression search and replace,
close tie-ins with compilers and code-editing tools.  Vi IMproved, or
vim, adds to the already powerful editor the ability to do syntax
hilighting, split screen display, file comparison, "folding", scripting,
and many, many more enhancements.

Vi is also the standard editor that you will find on every UNIX, BSD,
and Linux installation, given its long history and popularity amongst
systems administrators.

    PRO(vi): Multi-mode editor, "economy of keystroke", close tie-in's
        to common programming tools, macros, multi-buffers widely
        available.
    PRO(vim): syntax highlighting, folding, split screen editing,
        scriptable, etc...
    CON: Higher learning curve.  Multi-mode editing may be seen as too
        "difficult" to some users.

== emacs and xemacs ==
One of Richard Stallman's major contributions to the Free Software
community.  emacs is sometimes referred to as the "Other Operating
System".  emacs has been a scriptable editor from the start, sporting
one of the few examples of practical LISP programming.  This version is
coined "elisp" for its close marriage to the editor itself.  It is an
editor and virtual machine built into one application.  Because of this
scriptability and customizability, emacs quickly gained popularity
amongs UNIX coders and administrators.

vi still held a dedicated following, but emacs became "the" editor to
use.  ViM drew heavily from the features present in emacs to enhance the
vi editor, but emacs was first and in some minds, best.

Emacs is a META-key editor, or rather it is "the" META-key editor that
"all" other META-key editors draw influence from and compare themselves
to.  This includes pico/nano, joe, and nedit.  It uses the CONTROL key
and ESCAPE key with other keys to execute commands.  This simplifies
editing so that multi-modes are not necessary, but it also steps away
from the "economy of keystroke" design that vi demonstrates.

Emacs has gained a reputation of being "bloated" because of its heavy
use of elisp files.  This can sometimes be traced to badly written
default ".emacsrc" files that include far too many elisp files.  This
can slow down the startup time of the editor.

Emacs literally can do anything.  There some very respectible email
clients and newsgroup clients written in elisp.  It rightfully earned
the nickname the "Other Operating System".

    PRO: Highly scriptable and programmable.  Simple META-key bindings
        for most commonly used commands.  Does EVERYTHING!
    CON: Slow startup times from poorly written .emacsrc files.
        META-key seen as clumsy and tiresome.  High learning curve for
        scripting.

== pico/nano ==
The pico editor, which is functionally copied in the GNU version called
nano, is designed with simplicity in mind for the pine email client.
With little training, the average user can be happily editing within
minutes.

    PRO: Simple, functional editor.  Commands listed at bottom.
        Good keybindings.
    CON: Too simple for coding and "heavy-lifting".

== joe/nedit/etc ... Conclusions ==
There are many other editors out there that I cannot give due credit
because I do not use them.  Most of the editors out there are children
of the ideas laid down by emacs.  Sometimes these editors evolve out of
college projects or pet projects to reduce the size and profile of
emacs, to give a modern facelift to the "antiquated" look of XEmacs or
console emacs.  Some of these editors deserve to be recognized as
powerful and useful, especially those that tie in run-time
interpretation and syntax checking of coding languages.

Some editors pop up for specific purposes, such as HTML creation, but in
my book, a more general editor that is powerful enough to script or
create macros is enough for most situations.

The best advice I can give depends upon what you want out of an editor.
If you plan on coding or editing SGML/XML/HTML documents, you may want
some of the advanced features of vi and vim, or emacs and the emacs
children.  Try the editor out by walking through its respective
tutorial.  Give a respectable attempt to learn some of the more advanced
features of the editor.  Then formulate your own opinions.

My personal opinion, if you haven't guessed, is that vim is the
pentultimate editor. ;-)  Long live VI!

-- 
Chad Walstrom <chewie at wookimus.net>           http://www.wookimus.net/
           assert(expired(knowledge)); /* core dump */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 240 bytes
Desc: not available
Url : http://shadowknight.real-time.com/pipermail/tclug-list/attachments/20030914/b654f53d/attachment.pgp