Setting up Sublime Text 2 for PHP

I’ve mentioned Sublime Text 2 before. Although it’s in beta, and a little rough around the edges, it’s become my editor of the moment. Being a TextMate user it’s showing a lot of promise, and fortunately has a much more rapid development schedule. Did I mention it also works on OS X, Windows, and Linux?

Anyway, I thought I’d share how I’ve set it up for PHP development.

Installing Git

This is an optional part, but if you want to keep your plugins up-to-date you should install Git using this handy installer.

Fairly simple – download and run.

Zen Coding

The first plugin to install is Zen Coding. This is available for most editors and if you’ve never used it, it takes some of the tedium out of repetitive HTML.

You’ll need to download the plugin first (get the ‘tip’ version). Unpack the file into your packages directory and you’re set. Details of how to use Zen Coding can be found around the internet, but the specific shortcuts for Sublime Text are here. Pressing tab will expand any HTML, and ctrl+alt+enter will open the interactive editor (shown above).

Sublime Lint

Next up is Sublime Lint. This plugin validates the file you are editing for basic PHP syntax errors. Any errors are shown immediately with a red box around the offending area, saving you a wasted round-trip effort of save/refresh/re-edit just to fix a missing semi-colon.

Installation is from GitHub. Either download the package and unzip, or use git and check it out directly:

git clone git://

When installed you will see a red box outline around syntax errors:

The status bar will show the specific error message when the cursor is in the area.

Sublime CodeIntel

This is an interesting plugin, and uses the libraries from Open Komodo to provide proper symbol definitions and project wide auto-complete. That is, you can click on a function name and be taken immediately to its definition (it even understands classes and PHP5). You can also have auto-suggestion for functions outside of the current file.

Additionally, the status bar will show parameter prompting when you use a function.

Installation is much the same as Sublime Lint. Grab the code from GitHub, or install via git:

git clone git://

You will then be able to alt+click on a function name to jump to the definition, and use the standard cmd+space for auto-complete. It may take a while for the plugin to scan your code.

Soda Theme

Soda is a UI theme that affects the editor itself rather than the editing area. It generally improves the look and feel of Sublime Text by using sharper icons and better contrasting elements.

The theme can be found on GitHub as well, and can be downloaded or installed via git:

git clone "Theme - Soda"

Although the installation guide suggests you can activate it from Sublime Text, I’ve only been able to activate it by editing Preferences -> Color Scheme -> User and manually enabling the theme. Details of this can be found on the GitHub page.


Yes, the default Sublime Text 2 icon is terrible. Fortunately it’s simple to replace. If you search through the Sublime Text forum you’ll find many contributions from users (this is my favourite). Download whichever you like and using the Finder, locate the Sublime Text application in your Applications folder. Right click it and pick show info. Drag the new icon onto the icon in the top left corner of the info window.

Remote editing with Sublime Text 2

I’ve been quite taken with Sublime Text 2 recently, and I’ve been trying to find a way to introduce it into my daily work flow. While it’s perfect for editing files locally, it doesn’t have any built-in remote editing facilities such as Coda. As I work remotely, this is a pain.

I do have ExpanDrive, and depending on the speed of your server, this can work fairly well. However, you do miss out on some of the extra features of Sublime Text, such as ‘find in files’ and web development plugins.

I’ve experimented a bit with a mix of rsync and directory watches, but the best solution has been the simplest, and also a quick introduction into the world of Python.

Using the Sublime Text API, I wrote a plugin to monitor any changes to a file and simply scp (secure copy) it across to my remote server. All password details are already setup by dint of it going over SSH.
Continue reading “Remote editing with Sublime Text 2”

London riots touch Camden

The pointless rioting happening in London touched Camden last night. This morning I had a look.

Domino’s was first.

A little further down the road and Evans Cycles was badly damaged:

Unmarked police cars were arriving at the scene.

Sainsbury’s was next, where I buy milk.

So they went for pizza (ignoring the sushi next door), skipped an ice-cream shop and the Salvation Army, hit a bicycle shop, missed out the Belgium and Italian restaurants, and went to the supermarket. Apparently they went on to trash the Electric Ballroom, but my adventures were done for the day.


Social media to the rescue – catch your own idiot. Catch A Looter


So it’s been a busy few months which have seen me move to the other end of the country (back to London), followed by a trip back to China. In the meantime I’ve been waiting with the utmost patience while BT take 5 weeks to install a telephone line in my new place, just so I can get proper broadband access. Thanks, BT.

Anyway, along with some fellow colleagues, I took part in the Automattic World Wide Walk 5k – a chance for the good people at to feel a bit more connected. It was also a good excuse for me to get out of the house and explore my new surroundings.

My walk took me into the chaos of Sunday in Camden Market, giving me a chance to pick up a Chaboba bubble tea, before heading along Regents Canal into The Regents Park. This was followed by a walk around the park before heading to Primrose Hill for a lovely view over London.

And here’s my less-than-perfect attempt at photo stitching.

Taro – Purple Potatoes

I came across a vegetable in the supermarket the other day that I’ve not seen since China.

I always referred to it as a taro, but it seems it has several varieties, and this one was an eddoe.

Wikipedia refers to the flavour as:

…an acrid taste that requires careful cooking…

It’s a lot like a potatoe, but when cooked it goes crumbly and purple, and tastes kind of like… ice cream. Hard to describe really. In China it’s very popular, both fried as a main course, and as a dessert.

Cutting the skin releases some slightly toxic chemicals so you have to be careful! Cooking removes the toxins and you’re left with an unusual food.