Editing

Over the past few weeks I've been starting to feel that perhaps it was time to reconsider my choice of editors again. There are many things to like about vim, but it seems like an evolutionary dead-end. The basics are simple, but the overall design doesn't seem very unified. I did a little programming in vim's "internal" language, although you have the option to link vim against a number of other languages, and it seemed quite clumsy. Not to mention quite imperative. Plus, many projects I work on, like AspectML/InforML are written in languages that do not currently have adequate support in vim. Alan may be a little disappointed with me, but I gather he is using TextMate for most things these days anyway.

So I have been considering my option. I did look at TextMate, as Alan had mentioned it, but it didn't seem too compelling to me. To me it seems somewhat like a reimplementation of emacs, without the Lisp. Not to say that wouldn't be a good thing, but it was also entirely MacOS X specific. I'm a very cross-platform fellow, so I need something that works essentially everywhere.

Next I took a look at jEdit. It seemed fairly nice, and had some interesting plugins. Unfortunately, it was just far too slow on my laptop for regular use. So I looked around a bit more, but I hadn't really found anything that seemed promising. Then on Friday, during a discussion with some of the PLClub folks, the question of antialiased fonts in emacs came up. (X)emacs support for antialiased text was one reason I decided to switch to vim; the other was vim's superior support for UTF-8.

Currently, the "release" version of emacs, 21.x, still lacks both. But the "emacs-unicode-2" branch in CVS does have them. However, I gather that this branch is intended to become emacs 23.x, which either implies they plan of skipping version 22.x altogether, or at the current release rate it will be more than a few years before it is released. Still, I checked it out of CVS and was able to build it without too much trouble. Despite having a stern warning about it begin "alpha quality" on the start up blurb, so far it has been pretty stable for my needs.

So I'm back to emacs again after a number of years. I still think there is a need for a new cross platform editor. I did find Eclipse quite promising, but I think it currently suffers from being perceived as just for editing Java and a seemingly steep learning curve when it comes to developing new editing modes (at least I couldn't find any tutorials or documentation).

3 Comments »

  1. Alan Schmitt said,

    October 16, 2006 @ 4:37 am

    I haven’t blogged about it yet but I’m also completely off vim now, all my editing is done with TextMate. There are two things I really like about it: the notion of scope is built in (every language is associated to a grammar that explicitly define scopes, and commands may have different behaviors depending on the scope), and how easy it is to extend (most commands are scripts, written in your language of choice, that may take the current selection as input (or the whole scope the cursor is in) and replace or append text as output. I like this Unix approach to extending the editor, as every Unix command line utility is easily integrated.

    One other really nice thing about TextMate is how dynamic it is: it is still evolving fast, and there is a strong community around it.

  2. Alan Schmitt said,

    October 16, 2006 @ 4:32 pm

    By the way, if you want to see many cool things that can be done using TextMate, you might want to have a look at the screencasts http://macromates.com/screencasts

    I just watched the one on Markdown and hyperlinking/searching (http://macromates.com/screencast/searching_and_hyperlinks.mov) and it’s really neat.

  3. washburn said,

    October 16, 2006 @ 8:54 pm

    Yeah, I did sound a little too negative about TextMate. It certainly does have many nice things going for it. I guess I’m just kind of wary about committing too heavily on a closed source application that only runs on MacOS X (at least at present). I do expect that based upon current trends my next few computers will be Macs, but for right now I spend a goodly amount of time using Linux on my ThinkPad too.

    Plus, I don’t want to fall into the trap of working on extending the editor to work better for my current projects, (I don’t expect TextMate has very elaborate support for Standard ML) rather than just getting them done 🙂

RSS feed for comments on this post · TrackBack URI

Leave a Comment