Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save idleberg/fc0df222e1df258d525d704042d72582 to your computer and use it in GitHub Desktop.
Save idleberg/fc0df222e1df258d525d704042d72582 to your computer and use it in GitHub Desktop.
“Open in Sublime Text” in macOS context-menu

This list has been updated for Big Sur (and later). Since I don't use these versions, this guide might still need further improvements. For older macOS versions, please see this older revision.

Open in Sublime Text

  • Open Automator
  • Quick Action
  • Set “Service receives selected” to files or folders in any application
  • Add a Run Shell Script action
  • Set the script action to /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n "$@"
  • Set “Pass input” to as arguments
  • Save as Open in Sublime Text

Add to Sublime Text

Let's repeat the steps above for a second entry, this time to add files or folders to an existing Sublime Text window

  • Open Automator
  • Create a new Service
  • Add a Run Shell Script action
  • Set “Workflow receives current” to files or folders in any application
  • Set the script action to /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -a "$@"
  • Set “Pass input” to as arguments
  • Save as Add to Sublime Text

Keyboard Shortcuts

You can assign a global shortcut to run the services we just created

  • Open “System Preferences”
  • Select “Keyboard” then the “Shortcuts” tab
  • In the left pane, click on “Services”
  • In the right pane, scroll to “Files and Folders”
  • Select “Open in Sublime Text” (or “Add to Sublime Text”) and click “add shortcut”
  • Select a shortcut

Edit Context Menu items

You might want to rename or edit the items we just created

  • Activate Finder
  • Click on “Finder” in the Apple menu, select “Services” then “Services Preferences”
  • In the right pane, scroll to “Files and Folders” and scroll to the item you want to edit
  • Right click the item and select “Open in Automator”
  • Edit and save

Alternatively, you can edit the workflow (e.g. ~/Library/Services/Open in Sublime Text.workflow) in your preferred text editor

@CorbMax
Copy link

CorbMax commented Dec 14, 2017

Please fix shell scripts introducing double quotes in order to open files with space character in their name:

/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n "$@"

and

/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -a "$@"

@Orrison
Copy link

Orrison commented Jan 30, 2018

I am having an issue where if I have a blank instance of Sublime text open, with no project open. (as I often do, as I like to have one blank one open for working with files through FTP) regardless of having the -n option it opens the folder in that open sublime text window.

Is there any option that would make it open in a newly created window every time no matter what?

Thanks for this, by the way, it is amazing!

@chaityacshah
Copy link

Awesome! Thanks.

Can someone please explain "$@" in /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n "$@"

I understood that the first part finds the executable for Sublime Text, -n option is for a new window.

@partap
Copy link

partap commented Sep 4, 2018

"$@" is an automatic variable contains the input to the service.

...in this case, the filenames selected in Finder.

@johncthomas
Copy link

johncthomas commented Nov 14, 2018

Looks like Service option has been renamed to "Quick Action" in the current version of Automator.

@friedbrice
Copy link

friedbrice commented Jan 26, 2020

This doesn't seem to let me open directories. Is there a way to do that?
Screen Shot 2020-01-25 at 6 11 21 PM

I figured it out. I needed to set Shell: /bin/bash (which I had previously left blank) in my "Run Shell Script" action.

@ahmu83
Copy link

ahmu83 commented Jun 20, 2021

In macOS Big Sur the Automator option to "Create a new Service" is replaced with "Quick Action"
I had to look other places in automator for the "Create a new Service" option in confusion

@MajoroMask
Copy link

In macOS Big Sur the Automator option to "Create a new Service" is replaced with "Quick Action"
I had to look other places in automator for the "Create a new Service" option in confusion

And the Service receives selected have been changed into Workflow receives current, like this:

image

@idleberg
Copy link
Author

idleberg commented Jun 30, 2021

@ahmu83 @MajoroMask Thanks for the input, I've updated the gist accordingly

@Avila-Diego
Copy link

In macOS Big Sur the Automator option to "Create a new Service" is replaced with "Quick Action"
I had to look other places in automator for the "Create a new Service" option in confusion

And the Service receives selected have been changed into Workflow receives current, like this:

image

I tested it for macOS Bigsur, it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment