Goodbye TextMate

Written by pete

Topics: Uncategorized

I’ve been using TextMate to develop Ruby on Rails applications for a very long time. But as of today, I’m abandoning TextMate. And I’m not the only one.

For me, the last straw with TextMate was the issue illustrated in this video. When you have all of your methods folded up, and you delete a line of whitespace that follows a folded up block of code, the editor will in fact delete the entire folded up code block. This might be working as expected, but I expect better.

Some other annoyances I’ve had with TextMate include:

  • Random Pinwheeling (lockups that take unspecified amounts of time to clear)
  • Sluggish performance
  • Drawer behavior: When I want it on the left, I want it on the left. Even if my window is too close to the left side of my monitor. STOP OPENING ON THE RIGHT! DO YOU HEAR ME! (excerpt from an actual conversation with TextMate).
  • No significant updates in over two years. Not even the kind you pay for. I guess the upside of this is that any Bundles you find are pretty well guaranteed to work with your version of TextMate, because there’s really only one version.

After making the decision that I couldn’t continue to work in a professional setting with an editor that contains so many productivity-sapping limitations for me, I decided to switch.

I found that in making my list of requirements for a replacement editor, the beginning of it was an enumeration of what sucks about TextMate. I needed:

  1. Fast Search in Project
  2. Fast “Find Usages”
  3. A lack of code-munching bugs.

But there are a lot of things that I like about TextMate. I wanted to keep those features too:

  1. Autosave
  2. Fuzzy Match
  3. Strong Ruby Language Support
  4. HAML and SASS support
  5. Modules / Plugins / Bundles
  6. No Crashing
  7. Themes and control over colorization

First, I checked out RubyMine, but found that it crashed and froze on me a lot. I can’t have a code editor that crashes or freezes a lot. Alex Chaffee of Pivotal Labs likes RubyMate, however, so your mileage may vary. It’s worth checking out. And you can check it out for free.

Next I investigated Coda: it’s pretty, but doesn’t have a made-for-ruby feel to it. It’s got a very extensible plugin framework, and a lot of plugins made for it, but a couple of key plugins were missing, and I can’t afford to take the time to write the plugins right now.

Then I tried BBEdit: nice, but again: not enough support through plugins for the kinds of ruby development I do.

Then MacVim: which is awesome but I HATE ‘vi’ (if I’m going to use a UNIX editor for programming, it’s going to be emacs).

Finally, I decided to try NetBeans, and found everything I needed, and some stuff I didn’t even KNOW I needed. I was genuinely surprised that I liked NetBeans, given its background as a Java IDE. But the Ruby modules for Netbeans are very nice. Here’s what I liked the most, in no particular order:

  • Autotest, running right in the IDE: I don’t have to remember to start it in a terminal. It just runs in my IDE.
  • Search. It’s Fast. And I didn’t have to install Ack In Project to make it so.
  • When my continuous integration build fails, my IDE is notified, and it tells me so.
  • It integrates with bug trackers.

Aside from the “search” item, I didn’t even know I needed half of that stuff. But now that I have it, I can’t go back.

I still use TextMate for a basic editor, and still love the column-wise cut-and-paste feature. But I won’t use it for development anymore.

So long, TextMate. It’s been a ride.

  • Eric Hamiter

    Try Sublime Text 2.

  • Pete Jackson

    An excellent editor. Thanks!

  • Interesting how few developers (here at least) seem to be using BBEdit for day-to-day work, preferring TextMate. I'm one of them, but I keep BBEdit around and open usually for things like merging Diffs, which it manages very well. And I suppose I like the open bundle nature of TextMate. I wrote a bundle for Torque 2D scripting in a really short time. No doubt this is quick to do in Emacs too. I also like that TextMate does time-saving auto-completion like closing braces, also applied around the current selection, and in HTML mode, has shortcuts for tag wrapping. And I guess I like the default light-on-dark color scheme better in TextMate. It does code folding better too.

    As an aside, I think XCode would be a great starting point as a web development editor. Its code-folding and block highlighting is the best around. It might be worth exploring, as it's a strong environment for multi-language projects, and each "build" need only be a deployment script. But then, TextMate does have plugins to invoke compilers and such so... it's a toss-up if you're not into XCode. But the proof is in the pudding.

    But why do you think so many developers prefer TextMate to BBEdit? Is BareBones missing an opportunity here?

  • Why aren't you just using FileMerge (part of the Mac OS developer tools) for diffs? It even integrates with Git.

  • Qwe

    Too bad Netbeans has dropped support for Ruby as of v7.

blog comments powered by Disqus