Giving up on giving up TextMate

Oh, I talked a big game, but when the chips were down, when it was nut-cutting time, when the rubber met the road, in the dark night of the soul, I chickened out.

Like @ClarkGoble (http://xrl.us/bk2nar), I’m giving up TextMate for BBEdit 10 for a while to see how it goes.

After I finish this report.

2:42 PM Wed Jul 20, 2011

That one report turned into two reports, then three. Then there were a couple of longish blog posts that I didn’t want to do in an unfamiliar editor (or, more accurately, an editor I had lost familiarity with). The embarrassing fact is that three weeks after I wrote that tweet, I’m still using TextMate.

Yes, I downloaded the trial version of BBEdit, all right, and I started tweaking some settings and looking for ways to replace some of what I do in TextMate. I delighted in the ability to split a window and was positively giddy when folded a Markdown document at the headings. But then…

BBEdit doesn’t call its syntax highlighting syntax highlighting. In the Preferences, it goes by the name Text Colors.

BBEdit Text Colors preferences

This is truth in advertising, because, as I best I can tell, BBEDit doesn’t allow bold or italic styling. A small thing, maybe, but to me having key words in bold is more important than having them colored.

And frankly, the syntax coloring routines are pretty easy to fool. It’s not uncommon for any editor—and I’ve used heavyweights like Emacs and vi—to miscolor a section of text because it’s identified it incorrectly, but those errors are supposed to be rare. Maybe I just happen to be hitting BBEdit’s soft spots, but its coloring errors have been anything but rare. Here’s what this very document looks like when I open it in BBEdit:

BBEdit coloring errors

Something in the embedded HTML of the tweet knocked BBEdit off its pins, and the rest of the document is in red. How am I supposed to write in that environment?

BBEdit doesn’t allow column selection (the kind you do with the Option key held down) when you have Soft Wrap turned on. I always have Soft Wrap turned on and I use column selection and multi-line insertions almost every day. BBEdit forces me to switch Soft Wrap off and on repeatedly as I go about my normal editing chores.

The biggest problem, I think, is that BBEdit doesn’t include the concept of scope. Merlin Mann talked about the importance of scopes a few weeks ago in the “Food Court of Functionality” episode of Back to Work, and the more I’ve thought about it, the more I’ve come to realize that it’s TextMate’s killer feature.

TextMate understands that files of prose and files of source code have very different needs, and it uses scopes to adjust its behavior to the type of file you’re working on. More important, it recognizes that sometimes your file will have different sections and will need different scopes for each section. A Markdown document, for example, can include HTML, and that HTML can include CSS and JavaScript—TextMate uses multiple scopes and nested scopes to account for this and give you the appropriate highlighting and commands. BBEdit has nothing like this, and it feels like I’m writing in a straightjacket.

Update 8/11/11
Wrong.

As someone from Bare Bones helpfully points out in the comments, BBEdit does have something like this, and it affects how clippings and syntax coloring works. It doesn’t seem to give the user as much control as TextMate’s scoping system does, but it’s definitely there. My apologies for the mistake.

I suspect I was led astray by the mistaken syntax coloring I’ve been running into, an example of which is shown above. In the comment, Bare Bones acknowledges that the coloring is wrong. I’ll be sending the source to them so they can figure out what’s causing it.

I want to point out that this is another example of Bare Bones doing right by its customers, even lapsed customers like me. BBEdit may never feel right to me—you can’t write software that pleases every potential user—but I’ll always appreciate the respect they have for Mac users.

Fortunately for those of you considering switching from TextMate to BBEdit, Clark Goble is made of sterner stuff than I, and he’s keeping to his pledge to give BBEdit a fair trial. His first significant report on how he’s doing was posted today, and he’ll be adding more posts over the next week or two. Like me, he’s feeling a bit lost without scopes, but he’s wondering if BBEdit’s far superior AppleScript support will make up for it. He also seems to be much less bothered by the syntax highlighting problems than I am. But don’t just read my summary; read what he has to say in full.

Despite the title of the post, I haven’t entirely given up on the idea of switching from TextMate to BBEdit, but I’m much less optimistic about the possibility than I was a few weeks ago. On the positive side, I’m finding that TextMate still works fine for me in OS X Lion, so there’s no desperate need for me to find a new editor.