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: