Mac Or Linux Only
The best & safest way to do this is to create a symbolic link from the Sublime executable file (subl) to a folder already in your $PATH (e.g. /usr/local/bin/). If you do this; you won’t have to update this every time sublime updates…
For users running BASH (i.e. most people):
ln -s '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' /usr/local/bin/subl
If that doesn’t work, create a bin folder in your home directory (if one does not already exist), add it to your PATH variable and create a soft link to that file).
mkdir $HOME/bin
export PATH=$HOME/bin:$PATH
ln -s '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' $HOME/bin/subl
Then before you start using it properly, I would suggest taking a look at the help text first, which explains it’s usage:
subl -h
e.g.
subl my_folder_name/filename.txt
subl my_folder_name
to open a file and folder in Sublime respectively.
Taking it a step further
I use a BASH function to take this a step further with the following benefits:
- shorten the shortcut to just
s(which is somewhat shorter thansubl). - automatically open the current directory that you are if no file/directory is specified after
subl/s.
If you want, you can use this function by running the following (after running the above):
cd
subl .bashrc
This should open the .bashrc file in Sublime Text. Add the following to the bottom.
function s {
if [ "$1" != "" ]; then
subl $1
else
subl $PWD
fi
}
Then you can open Sublime by simply typing in a s (all the sublime arguments still work)…
(Side Point, I also use a similar function for open (for mac) / or xdg-open (for ubuntu); where I shorten the command to just o. I use it a lot to open the current directory in the file manager)…
Fish Shell Users (you know who you are)
The export line above will not work; so exchange it for the following
set PATH $HOME/bin:$PATH
Before Edit
I had different versions of the command line subl and sublime text three installed. I simply removed the subl command and then re-added and that fixed the problem for me…
For those who may find this useful – this is what I did:
subl -v
This showed me the build of the command-line sublime, when I checked this against the version of my actual Sublime, I noticed that the command line subl was an older build. So I tried to find the location of the command line subl using the following command (for me this was /usr/bin/subl):
which subl
So I first removed this older command-line sublime text.
sudo rm /usr/bin/subl (use `sudo` only if necessary)
And then re-added Subl to my PATH (as above)