TextMate shell utility (tm/mate)
Included with previous versions of TextMate was a shell command named
tm which is absent from the recent update (for those who don’t read the release notes).
The command is now located in the actual TextMate application bundle (under
Contents/Resources), and is named
mate (since some mistyped
tm and got
What you are supposed to do is, create a symbolic link from your
bin directory to the shell command inside the application bundle. So assuming you installed TextMate under
/Applications and you want the
mate command in
~/bin, you would (from Terminal) run:
ln -s /Applications/TextMate.app/Contents/Resources/mate ~/bin/mate
Since this only creates a symbolic link, updating TextMate in the future should keep the shell command up-to-date as well.
I plan to allow TextMate to create this symbolic link for you, just need to figure out the best way to do so.
On the subject of the
mate shell command, setting your path to include
~/bin needs (for bash) to be done like this:
It is important that you use
$HOME instead of
~, since the tilde is not expanded inside strings (the line should be placed in e.g.
One purpose of the
mate command is so that you can use TextMate as your editor for Subversion commit messages and similar (for the few times you do not commit from within TextMate :) ), for this to work,
mate should be called with the
-w option, and for most applications you can include that in the
EDITOR variable, e.g.:
export EDITOR="$HOME/bin/mate -w"
There is one command though, which doesn’t support that. It is
crontab, and in this case you can either do a wrapper (script) for
mate which adds the
-w argument (that is what the previously included
tm_wait script did), or you can create another symbolic link to the
mate executable, which has
_wait as suffix, e.g.:
ln -s mate ~/bin/mate_wait
When the shell command is called with that suffix, it will automatically set the
If you do not plan to use crontab (which I guess is obsolete now that we have launchd), you can ignore all this.