Terminal In Sublime



Glue is a plugin that provides an interface to your shell from the Sublime Text editor. It features command entry within the Sublime Text editor window, standard output display in an editor view, and it works with most system utilities. This includes any compiled or interpreted source that you develop which effectively allows you to create Sublime Text extensions in any programming language that your system supports.

Using this approach (the ppa one) to install Sublime Text would allow you to open it from the terminal using subl or sublime-text without the need of additional configuration. Improve this answer. Follow edited Apr 13 '17 at 12:25. 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.

Here’s how you get started with it.

Install Glue in Your Sublime Text Editor

Glue works in Sublime Text versions 2 and 3 and these install instructions apply for either version.

Install with Package Control

Terminus is heavily inspired by TerminalView another Sublime Text package that adds a terminal to a view. What I love about Terminus is you can add a toggleable panel or a view.

If you are using Will Bond’s Package Control, the install is simple. Open the Command Palette in your Sublime Text editor with the menus Tools > Command Palette and then type install in the text entry field. Select the option Package Control - Install Package. Next, type ‘glue’ in the text input box and select the ‘Glue’ plugin option that is displayed in the Command Palette. The install automatically takes place. You will see a confirmation in the status bar at the bottom of the editor window.

Install with Git

Glue a Terminal for Sublime Text Apr 7th, 2014 Glue is a plugin that provides an interface to your shell from the Sublime Text editor. It features command entry within the Sublime Text editor window, standard output display in an editor view, and it works with most system utilities. Package Control Of all the plugins on this list, Package Control is the most essential.

Open your Packages directory with the Sublime Text menu items Preferences > Browse Packages. Then git clone the Glue repository as a new directory named ‘Glue’ in your Packages directory with the following command:

Install Manually

If you like to do things the good ole’ fashion way, download the source repository from GitHub (tar.gz | zip). Decompress the archive and rename it “Glue”.

Then, open your Sublime Text Packages directory using the Preferences > Browse Packages menu items and move the entire Glue directory into your Packages directory.

Confirm Your Install

Glue should automatically load in your editor after you install with any of the above approaches. You can confirm that it is installed by opening a project, right clicking in the sidebar and selecting the menu item Open Glue Terminal.

Confirm Your PATH

The next step is to confirm that your PATH is properly set in Glue. Glue assigns a default user PATH from your environment PATH variable. In general the PATH is correct, but on some installs it may require a bit of assistance.

First, check the PATH that Glue is using by entering the following command on the Glue command line:

Terminal In Sublime

This will display a colon-delimited PATH string for Unix/Linux users and a semicolon delimited PATH string for Windows users. If the PATH doesn’t match your existing system PATH, you can set a new Glue PATH string. This does not modify your existing system PATH.

To do this, open the Glue user settings JSON file by navigating to Preferences > Package Settings > Glue > Glue Settings - User. If you have not already entered settings in this file, it will appear as an empty buffer in Sublime Text. Create a JSON file with the following syntax:

Unix (including Mac OSX) and Linux users should enter a colon delimited string. Windows users should include semicolons as delimiters.

Here is an example for Unix/Linux users:

and for Windows users:

Windows users should escape their backward slashes as shown above.

Use Glue

Glue works with many of your favorite system utilities and allows you to extend what you can do inside the Sublime Text editor window. Here are a few examples:

Glue + grep

Glue + git

Glue + cURL

Glue + Your Own Scripts

Glue Commands

Glue includes its own set of built in commands that let you navigate around your directory structure, manipulate the editor (e.g. create new buffers, open files by wildcard), and perform other useful tasks:

CommandDescription
cdchange directory
exitexit the Glue terminal
glue browseopen URL or local project file in default browser
glue clearclear text in the Glue view
glue finderreveal current directory (default) or optional path in finder
glue helpview help documentation in Glue view
glue localhostopen default web browser to local server
glue newopen a new Sublime Text buffer
glue openopen one or more project files by filepath
glue pathdisplay the system PATH setting that is used by Glue
glue userdisplay alphabetized list of your Glue user extensions
glue wcoopen one or more files by wildcard pattern

Extend Glue

Sublime text show menu bar

You can extend the built-in Glue commands with aliases that support system utilities, your own compiled executables, shell scripts, and source from any scripting language that is supported on your machine.

These Glue aliases can be called from the command line with the syntax:

They are incredibly simple to develop and require absolutely no programming knowledge (but can be hooked into anything that you develop with the capability to process data from the standard input stream).

Here are the steps to create your own extensions:

Create the Glue-Commands Directory

Create a Glue-Commands directory inside your Sublime Text Packages directory. You can open your Sublime Text Packages directory with the menu item Preferences > Browse Packages.

Create a glue.json File

Create a glue.json file inside the Glue-Commands directory.

Define Your Glue Extensions

Commands are defined in the glue.json file with a simple mapping of JSON key:value pairs using the following syntax

You have the option to include replacement tags in your system command string that allow you to pass command line arguments, the text in your clipboard, or the current working directory path to the aliased command:

Glue Extension Replacement Tags

TagDescription
{{args}}additional arguments that you include on the command line
{{clipboard}}the contents of the clipboard
{{pwd}}the working directory path

JavaScript Minifier Extension Example

Here is an example that will take you through each of these steps to create a command that will minify and obfuscate a JavaScript file, and then save it in the same directory with the new path <filename>-min.js:

If you are following along, you can download YUICompressor from the GitHub repository. You will need to have Java version 1.4+ installed to use it. Unpack the repository and move the yuicompressor-2.4.8.jar file to a directory for safe keeping (you will run it from this directory).

Next, create a shell script named minijs.sh. Include the following script and modify the YUI_PATH variable with the actual path to your YUICompressor jar file:

JavaScript Minifier Shell Script

Next, create a Glue extension that will serve as an alias for the call to this shell script when you use the glue minijs command. We’ll include the {{args}} template tag so that we can pass filepath arguments to our script. Insert the following in your glue.json file that you generated above:

To use your new Sublime Text feature, launch Glue in your editor and minify JS files in the working directory with a command like this:

The minified file is saved as awesome-min.js in the same directory.

You can use the same technique with any compiled application or interpreted script that accepts the standard input stream and returns the data to be displayed for the user in the standard output stream. Glue provides the interface with your shell to take care of the rest.

Learn More

The Glue documentation is available here.

Issue Reporting

If you come across a bug in the plugin, please report it on the GitHub repository.

As I’m working in the OSX Terminal more and more these days, I'm always on the lookout for time saving shortcuts.

Sublime Hide Menu

A really useful tip that I picked up recently from Zander Martineau is how to open up Sublime Text straight from the Terminal. This is done by hooking into a CLI utility that Sublime provides called subl.

The following instructions are based largely on the original gist on Github by Artero, so credit for this solution should be directed to them and not myself.

It’s a slightly different installation depending on whether you’re using Sublime Text 2 or 3, so I’ll split the two out below in the installaton; simply refer to the instructions that are relevant to you.

Installation

Assuming you installed Sublime in the Applications folder, the following command should open up the editor when you type it into the Terminal:

Sublime

For Sublime Text 2:

open /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl

For Sublime Text 3:

open /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl

If that worked, you're good to go.

You now need to create a symlink called sublime which links the subl CLI to a folder where your system usually looks to execute these binaries. To do this, type in:

For Sublime Text 2:

Free mac os x snow leopard download full version. ln -s /Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime

How to get terminal in sublime

For Sublime Text 3:

ln -s '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' /usr/local/bin/sublime

Check your profile

The final thing you need to do, is to check that your system profile is looking in the right place to see the symlink you have just created.

Enter the following command into your Terminal:

open ~/.bash_profile

Terminal In Sublime

Note that in some cases the profile may be called ~/.profile.

This should open up your profile in a text editor. What you’re looking for is a line towards the top of the file that starts with export PATH=. Your PATH contains all the directories that will be checked for executable binaries when you type a command into your Terminal. Since we created a symlink in the /usr/local/bin folder, we want to make sure that that folder is being checked too.

Hopefully, you’ll be able to see something similar to this:

export PATH=/usr/local/bin:(..)

If not, simply add this folder to your PATH and save the file.

Note: The (..) in this example represents other folders that would be listed on the same line and separated by a colon.

If you don't already have a PATH set in your bash_profile you can type the following on a new line:

export PATH=/usr/local/bin:$PATH

Flash for macbook pro download. Finally, if you did have to add /usr/local/bin to your PATH, run the following command before continuing:

source ~/.bash_profile

This will reload your .bash_profile with the newly added directory in your PATH.

Test it works!

Terminal In Sublime Text 3

In your Terminal, the following commands should now work:

Does Sublime Have A Terminal

  • sublime . – opens the current directory in Sublime
  • sublime filename – opens a file where filename is the file to be opened
  • sublime foldername – opens a folder where foldername is the folder to be opened

And there you have it – you can now open any file or folder in Sublime straight from the Terminal.

Terminal In Sublime

Thanks and credit for this great solution again goes to Artero. If you have any problems getting it working, let me know and I’ll do my best to help you out.

Article posted on the 17th February 2014