⚠️ termrc has moved! ⚠️
Project rewritten in node and jxa, called 🔥mert🔥. Please file any new issues there.
Take your iTerm2 environments with you wherever you go.
Description
Termrc allows you to store information about your project's environment for a given project in a small YAML file called a Termfile
file. Restoring your project's environment is as simple as calling termrc start
. Enjoy.
Quick Start
$ gem install termrc
$ termrc create
$ termrc start
The Termfile
The Termfile
file is a YAML file which stores information about your project's environment. An environment, in this context, is an iTerm2 window with various panes, each with a different default command that is run when the pane opens. The layout
dictates what your window looks like, while commands
gives you a set of commands you can call for each pane.
Place the Termfile
file at your project's root, then call termrc start
. Voila!
Example Termfile
commands:
here: echo "Hello, here."
there: echo "Hello, there."
world: echo "Hello, world."
me: echo "Hello, me."
you: echo "Hello, you."
layout:
- [ here, there ] # row 1, with 2 panes
- [ world ] # row 2, with 1 pane
- [ me, you ] # row 3, with 2 panes
The Result
A Termfile
file is a YAML file which requires two keys: commands
and a layout
. Each item in layout
corresponds to a row of panes in iTerm2. So, for instance, the example Termfile
file above would produce a new iTerm2 window with the following commands running inside each pane:
You can supply an optional key, root
, which indicates the root directory you'd like each command to be run inside of. Have a look at this project's Termfile for an example.
You can also supply a layout_type
value, either row
or column
, which denotes whether to use rows or columns as the means for splitting the window. This defaults to layout_type: row
.
Tabs
You can automate tabs by providing an array of arrays, each array denoting a new tab and the layout within it. See this template file for an example.
** Windows **
You can also use termrc to open multiple windows like so.
CLI
$ termrc start # Start termrc file (Shortcut: s, Argument 0: file (optional) )
$ termrc create # Create termrc file
$ termrc list # List termrc files in folder (Shortcut: l, Argument 0: folder (optional))
License
Released under the MIT License.
Questions?
Brian Gonzalez |
Changelog
- March 9, 2015 - Release 0.2.3; support for windows (not the OS)
- March 19, 2014 - Now using
Termfile
; panes now named with given command