ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Open URL

by noahcoad ST2/ST3

Open URLs, files, folders, or google text under the cursor or in selected text for Sublime Text.

Details

  • 2 2013.10.15.02.11.05
    3 2.2.0
  • github.​com
  • github.​com
  • 5 days ago
  • 1 hour ago
  • 6 years ago

Installs

  • Total 16K
  • Win 8K
  • OS X 5K
  • Linux 3K
Oct 16 Oct 15 Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8 Oct 7 Oct 6 Oct 5 Oct 4 Oct 3 Oct 2 Oct 1 Sep 30 Sep 29 Sep 28 Sep 27 Sep 26 Sep 25 Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5 Sep 4 Sep 3 Sep 2 Sep 1
Windows 1 6 1 1 3 2 4 2 6 5 1 7 4 1 4 3 4 1 5 5 4 8 4 1 5 6 5 3 4 0 1 3 1 8 4 7 4 2 1 5 4 2 4 4 0 4
OS X 0 3 1 2 2 7 8 0 0 1 2 1 2 3 4 7 2 6 3 3 2 5 6 3 1 10 3 7 6 3 1 4 2 2 1 4 2 0 1 2 5 0 3 2 1 1
Linux 0 2 0 1 1 2 0 1 2 0 1 0 2 2 1 0 0 0 3 0 3 1 1 0 1 1 0 2 0 0 1 2 3 1 0 1 1 1 2 5 4 3 1 2 2 0

Readme

Source
raw.​githubusercontent.​com

Open URL

Description

Quickly open files, folders, web URLs or other URLs from anywhere in Sublime Text.

Install

Look for Open URL using the Package Manager

How to use

Put the cursor inside a file / folder / URL / word and run the command. It automatically expands the selection until it hits delimiter chars, which can be changed in the settings (see below).

Alternatively, highlight the text you want to open. If text is highlighted the selection is not expanded.

Here's a bunch of ways you can run the command.

  • ctrl+u (OSX), ctrl+alt+u (Linux/Windows)
  • right-click > Open URL
  • alt + double-click
  • shift+cmd+p, then look for Open URL

Give it a try

Copy the items below to Sublime Text. Place your cursor inside any one of them and hit ctrl+u for OSX, or ctrl+alt+u for Linux/Windows.

How does it work?

If your selection is a file or a folder, you can choose to edit it (open with Sublime Text), or reveal it (open with macOS Finder/Windows File Explorer/Linux File Manager).

Opening files and folders is super convenient. Both can be specified with absolute paths, paths relative to the currently open file, or paths relative to the root of the currently open project. Env vars and the alias ~ are expanded.

If your selection is a URL, it opens immediately in a new tab in your default web browser. You can omit the scheme (http://) if you want and Open URL will add it for you.

If Open URL fails to open a web URL, you might have to change the path to your web browser executable. See the web_browser_path setting below.

If your selection is none of the above, and you haven't configured custom commands for special URLs using other_custom_commands, you'll be presented with two options:

  • modify the selection and try again
  • search for the selection using one of your configured web_searchers
    • the only web searcher that ships with Open URL is Google search
    • to add others, read more in the “Settings” section below

Shortcuts

Don't want to choose from menu items to open a file or a folder? Look for Open URL (Skip Menu) in the Command Palette. To create a key binding for this, open Preferences: Key Bindings from the Command Palette, and add the following:

{ "keys": ["your+key+binding"], "command": "open_url", "args": { "show_menu": false } },

This will open files in Sublime Text for editing, or reveal folders in the Finder, without showing the menu first.

Running commands on files, folders or special URLs

Open URL provides a few settings you can configure to run custom commands on files, folders, or special URLs that are neither files, folders, nor web URLs, such as FTP URLs:

  • file_custom_commands
  • folder_custom_commands
  • other_custom_commands (for special URLs)

The custom command settings should point to an array of object literals that can have up to 5 properties:

  • label, required: the label for the command in the dropdown menu
  • commands required: an array or string of shell arguments to which the URL is appended; if this string contains the $url placeholder, this placeholder is replaced with the URL
  • pattern, optional: the command only appears if the URL matches this pattern (optional)
  • os optional: the command only appears for this OS; one of ('osx', 'windows', 'linux')
  • kwargs, optional: kwargs that are passed to subprocess.Popen

For example, the reveal command for files uses the following file_custom_commands.

"file_custom_commands": [
  { "label": "reveal", "os": "osx", "commands": ["open", "-R"] },
  { "label": "reveal", "os": "windows", "commands": ["explorer", "/select,"] },
  { "label": "reveal", "os": "linux", "commands": ["nautilus", "--browser"] },
],

For another example, if you wanted to create OSX commands for adding a folder to the current project or for opening a folder in a new window, you could do something like this:

"folder_custom_commands": [
  { "label": "add to project", "os": "osx", "commands": ["open", "-a", "Sublime Text"] },
  { "label": "open in new window", "os": "osx", "commands": ["/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl"] },
],

Check the Settings section, or run Open URL: Settings for examples.

Settings

To customize these, hit shift+cmd+p to open the Command Palette, and look for Open URL: Settings.

  • delimeters
    • characters at which auto-expansion of selected path stops, e.g. \t\n\r\"',*<>[]()
    • the default settings are Markdown friendly
  • trailing_delimiters
    • if any of these characters are seen at the end of a web URL, they are recursively removed; default is ;.:
  • web_browser
    • the browser that Open URL uses to open new tabs; must be a string from this list
    • if you use an empty string, the “default browser” will be used
    • if you choose a browser that's not installed on your machine, Open URL will complain
  • web_browser_path
    • the path to your web browser executable for opening web URLs
    • this setting overrides the default web browser and the web_browser setting
    • read the top answer here, or look in settings for examples
  • web_searchers
    • if your selection isn't a file, a folder, or a URL, you can choose to pass it to a web searcher, which is just a URL that searches for the selected text
    • example: { "label": "google search", "url": "http://google.com/search?q=", "encoding": "utf-8" }
  • file_custom_commands
    • pass a file to shell commands whose pattern matches the file path
    • example, for copying the file path to the clipboard: { "label": "copy path", "commands": "echo $url | pbcopy" }
  • folder_custom_commands
    • pass a folder to shell commands whose pattern matches the folder path
    • example, for opening the folder in iTerm: { "label": "open in terminal", "commands": [ "open", "-a", "/Applications/iTerm.app" ] }
  • other_custom_commands
    • pass a URL which is neither a file, a folder, nor a web URL to shell commands whose pattern matches the URL
    • example, for opening FTP URLs: { "label": "open with filezilla", "pattern": "^ftp://", "commands": [ "open", "-a", "/Applications/FileZilla.app" ] },

Finally

See also: Google Spell Check.

Credits: Thanks goes to peterc for starting a forum thread about this topic and KatsuomiK for his gist, which were the inspiration for this plugin.

Author: @noahcoad writes software for the heck of it and to make life just a little more efficient.

Maintainer: @kylebebak.