The bottom line is this: I’m lazy. At work I chop and change environments every few months. I usually manage to use Windows NT as my client OS. Then at the server end there’s Solaris or HP-UX. And then I go home and have Linux and Windows 95 to play with.
It gets confusing after a while. Emacs doesn’t think very much of me pressing ESCAPE-k-k-k-a when I try and put something at the end of the third line up. And Notepad is unimpressed with ^X^C when I try and quit.
No, what I needed was some consistency. ^C to cut and ^Z to undo, please and thank you.
And then out of no-where, NEdit appeared. (In all probability, it was Freshmeat, but you get the idea.)
What’s it do?
More than Vi and less than Emacs.
NEdit sit in the middle ground doing just about everything that most people want to do. It doesn’t check your mail, it doesn’t let you surf the net. But it does help you edit your text.
It will high-light the syntax of your program, and if it doesn’t know about the language that you’re using you can tell it. (I added most of PL/SQL.) It uses most of the conventions that you’ve got used to in Windows and the Mac — like ^Z to undo ^N to start a new document. I still sometime press escape at the end of a paragraph, but that’s just me being brain-washed into the ways of Vi at an early age.
To appease ‘normal’ Unix people, it is also scriptable. There’s a macro language and you can call programs from the ‘Shell’ menu. The macro language is nothing like Emacs, but does support functions and variables and seems to be able to do all the basic stuff and some of the more complex things that people want to do. (I’ve not had need to look at it in any detail, the truth be known.)
While we’re talking about configuring it, NEdit is very strong in this area. It is a little confusing at first — the obvious menu items refer to this session of NEdit rather than NEdit as a whole — but once you’ve lost all your settings a couple of times everything become clear! You can change just about any aspect of the program, from the font, it’s colour and size, through to the size of a tab character. And none of this requires the editing of a text file — it’s all menu based.
It’s all a bit too user-friendly to be a real Unix application, but I’m not complaining.
What’s wrong with it?
I’ve been using NEdit on and off for nearly six months now. I’ve used it to edit HTML, C, shell scripts, plain text, Perl and various configuration files, and there’s nothing that jumps up at me and says ‘that’s wrong!’
Okay, the help could do with being more Window-ish, but then it’s not something you have to use very much. There are some languages that don’t have syntax high-lighting built in (SQL and PL/SQL are the ones that immediately spring to mind), however there is a huge list there so I’ve probably just been unlucky — and I can add them myself if I want.
NEdit is supplied as two executables. The main one, nedit, does exactly what you’d expect. There is a second one called nc which is slightly confusing. As I understand it you should use nc most of the time. What it does it open the document with an existing copy of NEdit if there is one, and starts one if there isn’t. This is a useful feature, but I don’t understand why it couldn’t have been included as part of the main executable.
Finally, and this probably just the executable that I picked up rather than any of the author’s faults, the executables were not ‘stripped’ (meaning that it was over 200K bigger than need be). Still, it was easy to fix and it only comes in at around 2Mb, anyway (presumably with Motif libraries linked in).
NEdit is a class application. It brings a simple to use, yet powerful editor to Unix. Since Emacs and Vi — incredibly powerful but ridiculously complex and user-hostile — still seem to be the most popular editors, this is something we need to bring Linux to the masses.