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