Last Updated: February 25, 2016
· filipekiss

Versioning your Sublime Text configuration

I've been using Sublime for a while now. It has become my main editor and, along vim, I can't see myself without it. With vim, it's really easy to version your configuration files and plugins. Since Sublime is also a simple JSON file that holds your configurations, my only problem was to easily install the plugins I've used across my machines. Sometimes I added a new plugin at work and forgot to add it at home, so as I opened my sublime, since my configuration files were versioned and synced, Sublime would throw errors everywhere about plugins and color schemes not found.

So I've decided to play a little with it and found out how to version not only your settings, but also which plugins you have installed.

The files responsible for the plugins and the configurations lies in Packages/User folder. In Mac OS X this folder is located under your $HOME/Library/Application Support/Sublime Text 2/Packages/ folder. all you have to do is to version this little folder named user found on the path above.

When you install sublime on a new machine, first you install Sublime Package Control and then just copy/clone/sync your old User folder to your new installation. When you open sublime for the first time, it may throw some errors, but the Package Control will detect the missing packages and install then. Just restart Sublime and voilá.

You may choose to version only a few of this files. I prefer to version all of them, since I change my settings a lot and it's great to keep everything up-to-date. This works well to sync settings using Dropbox too.

5 Responses
Add your response


I have all my config files and plugins in a Dropbox share, then use symlinks at my work install and home installs to point folders to my Dropbox. Each time I change something or add / remove a plugin, my home and work installs are instantly synced.

over 1 year ago ·

@georgeharito I do the same. I just have them in git repositories as well due to versioning :)

over 1 year ago ·

I use git repo for versioning and DropBox for syncing home and work.
BTW - it's possible to use git branches when you work on very different projects like PHP/Node.js - when working with node I don't need all PHP related plugins.

over 1 year ago ·

@martinssipenko That's a great idea, to change branches according to the language :)

over 1 year ago ·

@filipekiss Thanks!

over 1 year ago ·