Skip to Content

Text editing for fun and profit

Posted on 8 mins read

This post should be treated as an historical artifact. It probably contain broken external links and it may no longer reflect my views or opinions.

In the attempt to streamline the process of main­taining the myriad scripts and config files that I use day to day as part of both my day job and my droll hobby. I’ve used TextMate for every­thing, which I’ve previ­ously discussed (partic­u­larly using it in conjunction with CSSEdit, which we’ll come back to). But this has sort of spiraled out of control as I’ve spent more time working with PHP scripts (such as Word­Press themes) and I’ve started to wonder about the newer gener­ation of all-in-one editors.

First things first, I should probably talk about TextMate. Textmate 2 feels like vaporware.

Is it? Probably not. And in the interest of full disclosure, I wrote this post in TextMate using the not-utterly-terrible Blogging bundle.

However, it’s been a few years since there was anything espe­cially novel about TextMate, and this doesn’t help the fact that the editor is getting a little long in the tooth visually. This isn’t really a problem, as a good editor can outlast almost anything else in the envi­ronment surrounding it. Many, many cranky people still use vi and emacs, which have both outlasted the oper­ating systems they were built for.

I’ve just grown weary of having to finagle and finesse TextMate into usable shape. Admit­tedly, the Green Moleskin mod helps substan­tially (good bye project drawers!), and the use of updatable bundles has kept this editor viable in these rough and tumble times. I just can’t help hating the fact that I have to keep CyberDuck open if I’m editing some­thing remotely. Lack of SFTP/SSH support really is all I’m wistful about. Finicky bundle exten­sions (the Blogging bundle specif­i­cally is what I’m thinking of) are annoying but they are decidedly not deal breakers.

The Chal­lengers

Since I am a geek, and therefore always looking for a better tool, I began testing Coda ($99) and Espresso ($79.95 or $64.95 if purchased with a CSSEdit License; It’s unclear if special pricing is still available if you already own CSSEdit). Both offer a generous, fully func­tional, trial period. Both offer promises of kitchen-sink editing (defined as being able to handle all of my editing needs without leaving the app, including CSS editing, script editing, and remote filesystem editing over SFTP/SSH).

Panic is one of the top old-school Macintosh software companies. Their webpage is slick and their appli­ca­tions are polished like some sort of granite space mirror. Coda is their rela­tively seasoned (released in April of 2007) web devel­opment appli­cation. MacRabbit (also an extremely slick, in the lick-able sense, Macintosh software devel­opment company) then released Espresso during March of 2009 into the same kitchen-sink web devel­opment market that Coda was fighting for. If:

  • you work with HTML and CSS
  • you work in a language like PHP or perl
  • you hate Dreamweaver

then Panic and MacRabbit want your dollars.

Espresso

[Espresso, editing a ruby script](/img/Espressor-Ruby.jpg)

Espresso, editing a ruby script

I started with Espresso, as I am a regular CSSEdit user. As mentioned earlier I have had nothing but good things to say about CSSEdit, espe­cially since they rolled in the live preview/x-ray and local override features. Espresso is exten­sible through the use of small plugins called Sugars. Unfor­tu­nately, this means that as of today it also has poor language support (the Coffee House aggre­gator shows that Sugars are rela­tively immature and that there is no best-practice or general stan­dards for them yet.). Of note is that there is no real support for Ruby yet, which is annoying as all hell since most of my back-end scripts are in Ruby. You’ll see in the included screenshot that Ruby docu­ments are just plain text docu­ments, with no syntax high­lighting. However, HTMl, PHP, and Python support and high­lighting were all excellent.

Inter­est­ingly, Espresso has none of the CSSEdit guts worked into it from what I could find. It’s very much a web programmers editor, not a web designer editor. While it wasn’t uncom­fortable to work with CSS in Espresso, I found myself switching over to CSSEdit more often than not. I imagine that in time MacRabbit will probably roll CSSEdit and Espresso into a single appli­cation. For now though, it’s more context switching, with no gain in produc­tivity to show for it.

Espresso shows promise (it is a beau­ti­fully designed appli­cation), and the concept of work­spaces is novel. I appre­ciated the ability to work on some­thing locally while auto­mat­i­cally publishing it remotely, and Sugars have the potential to be as awesome as Bundles, if not more so. But much as every child has the potential to be pres­ident someday, only time will determine if Espresso’s Sugars are making me coffee for $6.00 an hour in a few years.

Coda

Panic’s chal­lenger for my hard-earned editor dollars is Coda. Coda does a few inter­esting things, like inte­grating the SubEthaEdit engine for collab­o­rative editing and incor­po­rating the Transmit core for remote file oper­a­tions. As of late it also supports plugins, though I’ve been unable to really find much in the way of usable plugins, since they’re a rela­tively new feature.

The kitchen-sink approach that Panic took with Coda also extends to having a built-in terminal, which can connect to a local machine or a remote machine, for code debugging, remote oper­a­tions, or whatever you’d normally keep a terminal open for while devel­oping. Coda is a very, very complex appli­cation, and that’s ulti­mately the problem I had with using it.

[Coda's weird autocomplete suggestions](/img/Coda-Ruby.jpg)

Coda's weird auto­com­plete suggestions

Coda wants to be every­thing at once, and it’s very good at most things that it does. The text editor never feels like it’s holding me back, but one of the big quirks I found was that the constant language-unaware auto-complete sugges­tions are much, much more aggra­vating than helpful.

I also found little utility in the included HTML reference, but that’s only because I know HTML and CSS very well (not that my blog layout implies this, but I do. Honest.), and for a developer who only uses HTML to present manip­u­lated data, I can see it being a helpful reference. Panic has recently (as of version 1.5) added the ability to point Coda towards other websites as reference guides, and that’s much more useful long-term.

Conclusion

At the end of the day the only real utility Coda and Espresso offer me is remote editing. They don’t support any config­u­ration file formats and their support for anything except “web languages” (ASP, PHP, perl, Python, Action­Script, HTML, CSS and kinda-sorta Ruby) is poor at best. TextMate has bundles for Apache, nginx, and SSH, as well as general support for any of a variety of key-value pair style config files. it also supports Bash and these are ulti­mately the make-or-break features for me.

However, I recognize that Espresso and Coda aren’t trying to be the programmers swiss army knife that appli­ca­tions like Vim or TextMate already are. They’re editors geared towards web devel­opers. Unfor­tu­nately, while that is a sizable 20% of my needs, the other 80% of my work is dealing with config­u­ration files every single day I am on the clock.

For the time being, it looks like I’m sticking with TextMate.

Follow-up ques­tions

You might ask now “Why not MacVim or BBEdit? What’s wrong with TextWrangler?”

Well, BBEdit is an excellent editor that just took too long to have its visual appearance over­hauled. It used to look exactly like a Classic Mac OS appli­cation running inside a Cocoa OS X frame. They’ve just released a new version that I’m told would be worth my time to test and no longer looks like a very powerful editor hidden inside a child’s toy. I may revisit it soon and see if it’s shaping up into some­thing that doesn’t make me want to punch my monitor in frus­tration. TextWrangler feels almost like borderline aban­donware at this point and it’s an extremely watered down programmers editor for the languages I’m working in and for the amount of work I have to do. MacVim is an excellent port of Vim to Mac OS X, but at the end of the day it is Vim, and Vim gives you AIDS. Worse still, if you use Aquamacs then your genitals will spon­ta­neously combust.

Well, BBEdit is an excellent editor that just took too long to have its visual appearance over­hauled. It used to look exactly like a Classic Mac OS appli­cation running inside a Cocoa OS X frame. They’ve just released a new version that I’m told would be worth my time to test and no longer looks like a very powerful editor hidden inside a child’s toy. I may revisit it soon and see if it’s shaping up into some­thing that doesn’t make me want to punch my monitor in frus­tration. TextWrangler feels almost like borderline aban­donware at this point and it’s an extremely watered down programmers editor for the languages I’m working in and for the amount of work I have to do. MacVim is an excellent port of Vim to Mac OS X, but at the end of the day it is Vim, and Vim gives you AIDS. Worse still, if you use Aquamacs then your genitals will spon­ta­neously combust.