Open a folder in Sublime Text 3 using command line
To open sublime in the same folder you can simply type in your commandline:
subl .
In order to work you must configure some stuff:
1) To prevent the opening of previous projects you should set the following properties of your Sublime User Settings:
"hot_exit": false,
"remember_open_files": false
2) In order to use subl.exe from anywhere you should add the Sublime folder in the environment variables. I.e. C:\Program Files\Sublime Text 3
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)