Can I transfer my TextMate 2 settings to another Mac?

I am switching to a new Mac and want to bring my TextMate 2 settings with me from my old Mac. I don't see an obvious way to do this, and searching hasn't brought anything up. Do I really need to re-set everything up again from scratch?

Or is there a way to export/copy TextMate 2 preferences/settings from one computer to another? Thanks!


Solution 1:

I've managed to get pretty far on my own, so I'm posting an answer. If someone else has a better way, I'll be glad to accept their answer. I ran into some gotchas along the way, so I wanted to share those as well. Here are the steps I took.

  1. Make sure TextMate is not running on your new Mac.

  2. On your old Mac, tar up the TextMate and Avian folders under ~/Library/Application Support:

$ cd ~/Library/Application\ Support
$ tar cfz TextMate.tgz TextMate
$ tar cfz Avian.tgz Avian

(You may or may not have the Avian directory. If not, skip instructions related to that.)

  1. Copy those two tar files to your new Mac and place them under ~/Library/Application Support, and then extract them:
$ cp TextMate.tgz ~/Library/Application\ Support
$ cp Avian.tgz ~/Library/Application\ Support
$ cd ~/Library/Application\ Support
$ tar xfz TextMate.tgz
$ tar xfz Avian.tgz 
  1. Copy the TextMate .plist files from ~/Library/Preferences on your old Mac over to the same locations on your new Mac. For me this was the following two files:
$ cd ~/Library/Preferences
$ ls | grep -i textmate
com.macromates.TextMate.preview.LSSharedFileList.plist
com.macromates.TextMate.preview.plist
$
  1. (Here is the 'gotcha' which took me awhile to figure out.) You need to unquarantine the files you just copied over to your new Mac. Do this (on your new Mac) by clearing the extended attribute com.apple.quarantine as follows:
$ cd ~/Library/Application\ Support
$ xattr -r -d com.apple.quarantine Avian
$ xattr -r -d com.apple.quarantine TextMate
$ cd ~/Library/Preferences
$ xattr -d com.apple.quarantine com.macromates.TextMate.*

The -r and -d options to xattr say to handle all files in those directories (recursive) and delete the attribute specified. If you get a bunch of permission errors, place sudo in front of the xattr commands.

The above appears to have restored the majority of the TextMate "behaviors" from my old Mac to my new Mac. I still had to open up the TextMate -> Preferences menu and do a side-by-side comparison, checking and unchecking boxes for various settings that did not transfer over with the above steps.

Update:

If you have a .tm_properties file, e.g., ~/.tm_properties, you'll also want to copy that over to your new Mac.

Solution 2:

TextMate 2, which is still in Beta, places its Preferences Settings in /Users/$USER/Library/Preferences/com.macromates.TextMate.preview.plist although I suspect that "preview" will be dropped from the filename once it goes gold. Copying this file to a different User/System should, to the proper location, transfer the Preferences Settings.