PRODUCT REVIEW: NEdit 5.1.1 David Mertz, Ph.D. Gnosis Software, Inc. September 2000 AT A GLANCE ------------------------------------------------------------------------ Creator: Multiple developers Price/License: GNU General Public License Home Page: http://nedit.org/ Requirements: Linux/X11 (or other Motif/Lesstif system); Unsupported Win32 port (depends on CygWin and X11 under Windows) BACKGROUND ------------------------------------------------------------------------ In moving more-and-more toward Linux for my daily work, one of the chief obstacles I have encountered is finding a text editor that does everything I want it to. There are plenty of text editors available, but they all seem either to do too little (jed, joe, xedit, kedit, gedit) or to be far too difficult to learn and use (emacs, vi); sometimes both. I reviewed FTE previously as one option for a Linux text editor; NEdit, however, is the best general Linux text editor I have found (at least for my needs and style). On a minor downside, NEdit is not cross-platform beyond X11; and you cannot use it in a console. WHAT IS NEdit? ------------------------------------------------------------------------ NEdit is a GUI programmers' text editor for X11 that rolls in a surprisingly rich amount of functionality. You do not realize at first just how much NEdit has behind it. The menus seem pretty simple at first; there are no icons or graphics in the design. The look-and-feel of NEdit is a clean, simple CUA-style menu'd application, without a lot of visual extras. Each file being edited is opened in its own SDI-like window, and therefore no filetabs are used, nor arrangement of panes within a main window (as with an MDI-style). NEdit *does* use a Motif-based true GUI--as opposed to the xterm/console style of some other editors (like FTE, vi or emacs)--which gives it more surface polish. But NEdit does not advertise its richness to the casual onlooker. Its visual simplicity--at least for me--is a wonderful feature. I *do* think filetabs are a nice interface device that is missing, but the taskbar of KDE or Gnome manage a similar function at the window-manager level (each document appears on the taskbar seperately). NEdit gives me my document, a set of easy-to-use menus and shortcuts, a good help system, and otherwise gets out of my way. THE BELLS AND WHISTLES ------------------------------------------------------------------------ NEdit pretty well fulfills my checklist of whiz-bang editor features. It is probably just quickest to list them. - Syntax highlighting. A very good collection of language modes comes built-in; and creating your own is all done in a friendly dialog box (no need for editing obscure configuration files). The syntax highlighting even uses versatile regular expression patterns (and highlights in realtime), rather than simple keywords. - Complete macro facility. You can do a simple keystroke recording for simple stuff. But NEdit also comes with a complete built-in scripting language (it is similar to Awk/C/Perl/PHP in look). Basically, you can do *anything* with macros. - Access to shell commands. Part of the nice design of *nix is its modularity. NEdit takes advantage of this. You do not need to write your own complex macros when an external program will do something complicated for you. For example, one pre-configured shell command is a call to 'ispell' which modifies (potentially) the document you are working in. You can also call anything else you want (including scripts in your favorite programming language), and modify documents almost seamlessly. - Regular expression search *and* replace. Some editors allow regex's in search patterns, but not backreferences in replacement patterns. NEdit does both. Lots of little things are in NEdit also: - Language modes let you change macro menus along with coloration and basic wrap/indent behavior. - Column selection is available along with stream selection (ctrl-mouse or alt-shift-arrows). - Correct handling of indented paragraph wrapping (a problem I have had in other editors). - Highlighting of matching parenthesis to one at cursor (handy for parsing nested expressions). - Handles case changes on blocks (upper, lower, but not proper); change indent of block. NIGGLES ------------------------------------------------------------------------ With everything it does right, I almost feel bad pointing out the few things I still wish NEdit had. But a couple things still stand out. - No real template feature, and no significant built-in language-specific enhancements. There is nothing you could not in principle create for yourself with the macro language. But a lot of editors offer things like language-mode menus for tags/prototypes for a specific language. "Shipping" with a set of such enhancements would be nice. - No bookmark feature. This is handy in large documents for tracking several key areas of a document. Using split windows on the same document can accomplish part of this purpose, but not really as well. - No folding. This capability might be a little bit exotic, but after working with FTE, I *love* the capability of hiding away the body of document-sections, functions, classes. - Another whiz-bang feature I miss from FTE (and from some commercial IDE's) is the ability to produce a set of navigable links of function/routine declarations (with jumps to the bodies). Smaller gaps are: no detab/entab; no box drawing; no inherent calculator; no multiple clipboards. Nothing terrible in the list, but NEdit still falls a few steps short of perfection. ABOUT THE AUTHOR ------------------------------------------------------------------------ There is hardly anything David Mertz feels more strongly about than text-editors. It stands to reason after a tally of the hours and minutes of his days. You can find out copious biographical details by rooting around at http://gnosis.cx/publish/.