Sublime Text 3 and Terminal prompt for OS X Mavericks?

Solution 1:

Should be:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

Notice I removed the tilde (~). Tilde (~) in Unix refers to your user's home directory, so your source was correct, but the second argument was placing the link in /Users/[your username]/usr/local/bin/ which is not included in $PATH.

In your note, you said you tried removing the quotes from the source argument. If you remove the quotes, you need to be sure to escape the space character as follows:

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime

That should work as well.

Solution 2:

Mavericks does not ship with a ~/bin directory, but found I ran into trouble trying to install the subl command in any of the low-level system bin directories. I found the following solution worked neatly:

Create a ~/bin directory for your user:

mkdir ~/bin

Add the subl command as per the Sublime Text documentation:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl

Open /etc/paths in your (second) favourite text editor:

sudo vi /etc/paths

Add the active user's ~/bin folder. Here's how mine looked after I'd added ~/bin:

~/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

Solution 3:

Rather than having cumbersome sudo links to setup I prefer to use a simple bash function and use the native Mac open command:

#somewhere in your .bashrc or .zshrc
sublime () {
    open -a "Sublime Text" $@
}

Now all you have to do is sublime . whenever you want to open up sublime from a given folder. Obviously you can simply rename it subl.

Note The name to write in the -a parameter is the name of the application as stored in the the /Applications folder:

enter image description here