Tmux
I decided to work a bit on my shell and tmux setup on my laptop.
I recently switched to zsh instead of fish, and in the process I learned about Tmuxinator.
Tmuxinator allows me to create configurations that will specify things like ruby version and commands that need to be run prior to the shells starting, and specify tmux screens.
My tmux.conf is pretty simple:
setw -g mode-mouse on
unbind %
unbind .
unbind -
bind . split-window -h
bind - split-window -v
bind o break-pane
bind-key R source-file ~/.tmux.conf
set-option -g prefix C-a
set -g history-limit 5000
set -g repeat-time 1000
set -g display-time 500
set -g mouse-select-pane on
set -g mouse-select-window on
set -g mouse-resize-pane on
setw -g mode-mouse on
set -g base-index 1
set -g status-bg black
set -g status-fg white
set -g status-left '#[fg=green]#H'
set -g status-right '#[fg=yellow]#(uptime | cut -d "," -f 2-)'
set -g default-terminal "xterm-256color"
setw -g utf8 on
and a typical Tmuxinator config looks like this:
project_name: Octopress
project_root: ~/octopress.thorerik.net
socket_name: octopress
pre: mate .
#rvm: 1.9.3 #not using this since the project got rvm configuration
tabs:
- editor:
layout: main-vertical
panes:
-
- rake preview
- top
- server: ssh gw-01
When I want to launch a project I just enter
mux
I use zsh and oh-my-zsh, with oh-my-zsh I load the following plugins to provide tmuxinator integration: plugins=(tmux tmuxinator)
I will cover zsh more on a later date.