Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open a folder in Sublime Text 3 using command line

I'm trying to open a directory in sublime Text 3.

I can launch sublime from the command line using the subl command.

The help text show the following:

Sublime Text build 3059  Usage: subl [arguments] [files]         edit the given files    or: subl [arguments] [directories]   open the given directories    or: subl [arguments] -               edit stdin  Arguments:   --project <project>: Load the given project   --command <command>: Run the given command   -n or --new-window:  Open a new window   -a or --add:         Add folders to the current window   -w or --wait:        Wait for the files to be closed before returning   -b or --background:  Don't activate the application   -s or --stay:        Keep the application activated after closing the file   -h or --help:        Show help (this message) and exit   -v or --version:     Show version and exit  --wait is implied if reading from stdin. Use --stay to not switch back to the terminal when a file is closed (only relevant if waiting for a file).  Filenames may be given a :line or :line:column suffix to open at a specific location. 

Thus to open a directory I should be able to use the following

subl ./folder_name

but that does not work for me. Sublime does open (with a empty new document) and I cannot see the folder in the side bar.

Am I doing it wrong...

BTW. I'm using the fish shell with the 'Oh my fish' Add-on (I have also added the sublime add- on)...

like image 379
Ismail Moghul Avatar asked Oct 16 '14 10:10

Ismail Moghul


People also ask

How do I open a folder in Sublime Text 3?

Run this command in Terminal now when you type subl Sublime Text should open. Now to open a folder type subl . will open the current folder in Sublime Text.

How do I open a Sublime Text file in terminal?

Just Use the command subl to open sublime text from terminal. if you want to open a specific file use subl path/to/the/file .

How do I open a folder in Sublime Text?

Mac OSX You either have to have Sublime Text open already for the subl ./folder_name command to actually open the folder, or Sublime must have been quit with windows still open - if you close all the windows then quit Sublime, using the subl ./folder_name command will just open a blank Sublime window.

How do I use SubL in Sublime Text?

Sublime Text includes a command line tool, subl, to work with files on the command line. This can be used to open files and projects in Sublime Text, as well working as an EDITOR for unix tools, such as git and subversion. Some operating systems and installation methods will require a configuration change to make subl available on the PATH .

How do I install Sublime Text 3 on my computer?

Put the path for your computers version of Sublime Text 3. For me it is: C:\Program Files\Sublime Text\sublime_text.exe . Make sure to have a full stop at the end. The full stop as a flag tells windows to open this folder/directory in Sublime Text 3. Test it in any folder you like. Done.

How to create a Sublime Text editor browser packages?

Follow the procedure… Open Sublime editor. Click on the Preferences and then select Browser Packages… It will open a new window. Create a new folder CMD (all uppercase letters). Create a file cmd.py. Write the below code and save the file.


2 Answers

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 than subl).
  • 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)

like image 176
Ismail Moghul Avatar answered Sep 19 '22 18:09

Ismail Moghul


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

like image 36
fabio_biondi Avatar answered Sep 19 '22 18:09

fabio_biondi