March 15, 2005

Frustrated developer seeks good text editor

Frustrated developer seeks good text editor: must be slim yet full-featured, low maintenance, good looking, with inexpensive tastes.

On Sunday evening, as Jeremy, Gianugo and I were doing final testing on the day's work, it became apparent I'd overwritten some changes to various application files. Thankfully, we were using SVN so it didn't take too long for me to correct the problem, but it was insanely annoying nevertheless.

(Aside: unless I'm missing something, reverting in SVN is a non-trivial task. CVS reverting is pretty simple: cvs update -j 1.4 -j 1.3 hello.c ... but in SVN, it looks like you have to do svn cat -r 1.3 hello.c > hello.c; svn commit hello.c ?? I couldn't find a smarter way in the SVN book.)

It seems the problem was with my editor. For a while I've been using TextWrangler, a nifty cut-down version of Bare Bones Software's BBEdit, the de facto editor on the Mac. It looks like it does not warn you when it reloads changed files, and I think under certain conditions it overwrites changed files without warning. It's the only possible way the lost changes could have happened barring user error, and what are the chances of that??

So despite TextWrangler being a nice enough editor, I'm going to dump it. I can't risk screwing up code, so if there's any doubt about it, the editor goes. But what to replace it with? It's not the first time I've got the editor blues ... jedit hogging memory, total lack of decent editor on the Mac (based on my criteria), editors in eclipse, a list of editors, more eclipse.

I quite liked BBEdit when I tried it, but I balked at the idea of paying $200 for an editor. I just can't cope with the full price. For $200 I could get a complete copy of OS X Panther, Keynote 2, and Pages. The upgrade price is a lot less heinous, so we stumped up for a copy for Jeremy as he has the advantage of being a long-time BBEdit user. I am also trying to run a clean machine with no incorrectly licensed software on it, so simply using Jeremy's copy or a warez version is not an option.

So, let's look at my requirements:

  • license: an open source license is preferable for all the obvious reasons.
  • sensible price: I'm thinking £50 is the sweet-spot, but I'd stretch to maybe £70. I'd prefer free.
  • visually useful: maximise the edit area, reduce menus, icons etc. and smallish fonts (8-9pt). I want to be able to split the screen at least horizontally, preferably vertically too.
  • language support: i want syntax highlighting, folding, code completion optional. XML support is a must: preferably tag completion and well-formed checks. Building from within the editor is preferable, but not required ... I'm not necessarily after an IDE.
  • small footprint: with cocoon, jetty, tomcat, firefox, and mail, there's not much room left. An editor that is reasonable in its requirements is a must.
  • source control integration: nice, but not required. I spend most of the time on the command-line anyhow.
  • mac support: it should be fully-integrated with the mac ... proper menus, etc. There's a reason I'm on this platform, after all.

Time to go do some reviewing.

Posted by savs at March 15, 2005 1:49 PM
Comments

I'm happily running license #71 of TextMate alongside my copies of SubEthaEdit and OxygenXML, and have dumped TextWrangler for similar issues a long time ago.

Posted by: Steven Noels at March 15, 2005 3:09 PM

BBEdit only reloads files off disk without warning if you've verify at resume is turned on and the document is unmodified.

As for subversion, if you want to revert to a previous revision you want to use svn merge.

Posted by: Erik at March 16, 2005 2:16 AM