A quick and simple way to run arbitrary shell commands in Sublime Text.
Mr. Turtlestein acts as a more flexible alternative to Sublime's build systems. Commands run in your project's directory:
And display their output just like Sublime's build systems:
Unix's familiar |
and >
operators can be used to pipe/redirect a command's
input and output:
- To pipe the active view's selections to a command, add a leading pipe
character (e.g.
| sort
). If there are no non-empty selections the entire file will be piped to the command. - To pipe a command's output back into the view, add a trailing pipe
character (e.g.
| sort |
). - To redirect the command's output to a new file, add a trailing greater than
symbol to the command (e.g
ls >
or| sort >
).
Snippets are available for frequently used commands. All snippets with the
scope name source.shell
(source.dosbatch
for Windows users) can be used in
the prompt shown above. I have
some examples
you can take a look at to get an idea for this.
- Ctrl + Shift + C (Cmd + Shift + C): prompt for a shell command
- Ctrl + Alt + Shift + C (Cmd + Alt + Shift + C): launch a terminal in the window's directory
- Ctrl + Shift + X (Cmd + Shift + X): re-run the previous command
In your own Packages/User/Shell Turtlestein.sublime-settings
file you can
override the following settings:
surround_cmd
: A two-element array that specifies text to append before and after the command (e.g.["source ~/.profile && ", ""]
).exec_args
: The arguments that will be passed toExecCommand
. The same options that are available to build systems are available here, butfile_regex
,line_regex
,encoding
,env
, andpath
are the only options that make sense to use with this plugin. Arguments specified in thecmd_settings
(see below) will override these defaults.cmd_settings
: An array of configurations to use for commands that are executed. The first configuration to match the command being run will be used. The keys that each configuration should have are:cmd_regex
: A regex that must match the command for this configuration for this configuration to be used.exec_args
andsurround_cmd
override the settings described above for any matching command.
prefer_active_view_dir
: If set to true, prefer using the directory of active file over using a folder open in the current project.
Q: Who the balls is Shell Turtlestein?
A: He was a pet turtle that died in some episode of Modern Family. That's about as high-brow as my references get. R.I.P. Shell :(
Q: What does "PAQ" stand for?
A: Possibly asked questions
Thanks to all the contributors. I'd give you all high fives if my arm would fit through the internet.