-
-
Save jacob-faber/119032b947f37e920d25e3587b968221 to your computer and use it in GitHub Desktop.
Start up tmux with custom windows, panes and applications running
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# Setup a work space called `work` with two windows | |
# first window has 3 panes. | |
# The first pane set at 65%, split horizontally, set to api root and running vim | |
# pane 2 is split at 25% and running redis-server | |
# pane 3 is set to api root and bash prompt. | |
# note: `api` aliased to `cd ~/path/to/work` | |
# | |
session="work" | |
# set up tmux | |
tmux start-server | |
# create a new tmux session, starting vim from a saved session in the new window | |
tmux new-session -d -s $session -n vim #"vim -S ~/.vim/sessions/kittybusiness" | |
# Select pane 1, set dir to api, run vim | |
tmux selectp -t 1 | |
tmux send-keys "api;vim" C-m | |
# Split pane 1 horizontal by 65%, start redis-server | |
tmux splitw -h -p 35 | |
tmux send-keys "redis-server" C-m | |
# Select pane 2 | |
tmux selectp -t 2 | |
# Split pane 2 vertiacally by 25% | |
tmux splitw -v -p 75 | |
# select pane 3, set to api root | |
tmux selectp -t 3 | |
tmux send-keys "api" C-m | |
# Select pane 1 | |
tmux selectp -t 1 | |
# create a new window called scratch | |
tmux new-window -t $session:1 -n scratch | |
# return to main vim window | |
tmux select-window -t $session:0 | |
# Finished setup, attach to the tmux session! | |
tmux attach-session -t $session |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment