Last active
February 3, 2020 15:16
-
-
Save esparkman/bec39dc43d8f47cdafb76456d0ad8874 to your computer and use it in GitHub Desktop.
Tmuxinator config for Listen360 Ecosystem
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
########################### | |
## Configuration | |
############################ | |
# | |
# use 256 term for pretty colors | |
set -g default-terminal "screen-256color" | |
# increase scroll-back history | |
set -g history-limit 5000 | |
# use vim key bindings | |
setw -g mode-keys vi | |
# decrease command delay (increases vim responsiveness) | |
set -sg escape-time 1 | |
# increase repeat time for repeatable commands | |
set -g repeat-time 1000 | |
# start window index at 1 | |
set -g base-index 1 | |
# start pane index at 1 | |
setw -g pane-base-index 1 | |
# highlight window when it has new activity | |
setw -g monitor-activity on | |
set -g visual-activity on | |
# re-number windows when one is closed | |
set -g renumber-windows on | |
# Fix System Clipboard | |
set -g default-shell $SHELL | |
# set -g default-command 'reattach-to-user-namespace -l ${SHELL}' | |
# Set Window Auto-Rename to off | |
setw -g automatic-rename off | |
# enable pbcopy and pbpaste | |
# https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/blob/master/README.md | |
# set-option -g default-command "reattach-to-user-namespace -l zsh" | |
#/Applications/Postgres.app/Contents/Versions/9.4/bin########################## | |
# Key Bindings | |
########################### | |
# tmux prefix | |
unbind C-b | |
set -g prefix 'C-\' | |
# double backslash goes to last window | |
bind-key 'C-\' last-window | |
# copy with 'enter' or 'y' and send to mac os clipboard: http://goo.gl/2Bfn8 | |
# unbind -t vi-copy Enter | |
# bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" | |
# bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" | |
# create 'v' alias for selecting text | |
# bind-key -t vi-copy v begin-selection | |
# paste | |
unbind C-p | |
bind C-p paste-buffer | |
# window splitting | |
unbind % | |
bind | split-window -h | |
unbind '"' | |
bind - split-window -v | |
# resize panes | |
bind -r H resize-pane -L 5 | |
bind -r J resize-pane -D 5 | |
bind -r K resize-pane -U 5 | |
bind -r L resize-pane -R 5 | |
# create 25% lower split | |
unbind t | |
bind t split-window -p 25 | |
# quickly switch panes | |
unbind ^J | |
bind ^J select-pane -t :.+ | |
# force a reload of the config file | |
unbind r | |
bind r source-file ~/.tmux.conf \; display "Reloaded!" | |
# act like vim | |
setw -g mode-keys vi | |
bind h select-pane -L | |
bind j select-pane -D | |
bind k select-pane -U | |
bind l select-pane -R | |
bind-key -r C-h select-window -t :- | |
bind-key -r C-l select-window -t :+ | |
# enable mouse support | |
set -g mouse on | |
# Status Bar | |
########################### | |
# enable UTF-8 support in status bar | |
#set -g status-utf8 on | |
# set refresh interval for status bar | |
#set -g status-interval 30 | |
# center the status bar | |
#set -g status-justify left | |
### | |
# position status bar at top | |
#set -g status-position top | |
# show session, window, pane in left status bar | |
#set -g status-left-length 40 | |
#set -g status-left '#[fg=green]#S#[fg=blue] #I:#P#[default]' | |
# show hostname, date, time, and battery in right status bar | |
#set-option -g status-right '#[fg=green]#H#[default] %m/%d/%y %I:%M\ | |
#[fg=red]#(battery discharging)#[default]#(battery charging)' | |
# configure clock settins | |
#set -g clock-mode-style 12 | |
################################### | |
############ STATUS BAR ############ | |
# | |
set-option -g status on # turn the status bar on | |
set -g status-interval 1 # set update frequencey (default 15 seconds) | |
# | |
## Base color | |
set-option -g status-bg colour236 | |
set-option -g status-fg colour246 | |
# | |
## Left side | |
set -g status-left-length 20 | |
set -g status-left " #[fg=colour34]#S#[fg=colour246] | " | |
## Right side | |
set -g status-right-length 31 | |
set -g status-right " #{battery_icon} #{battery_percentage} | #[fg=colour214]%a, %b %d #[fg=colour246]| #[fg=colour34]%l:%M %p #[fg=colour246]| #[fg=colour203]#(battery) #[fg=colour246]" | |
# set window list colors - red for active and cyan for inactive | |
set-window-option -g window-status-style fg=colour240 | |
set-window-option -g window-status-style bg=colour235 | |
set-window-option -g window-status-style dim | |
set-window-option -g window-status-current-style fg=colour246 | |
set-window-option -g window-status-current-style bg=colour237 | |
set-window-option -g window-status-current-style bright | |
########################### | |
# Colors | |
########################### | |
# color status bar | |
# set -g status-bg colour235 | |
# set -g status-fg white | |
# highlight current window | |
# set-window-option -g window-status-current-fg black | |
# set-window-option -g window-status-current-bg green | |
# set color of active pane | |
# set -g pane-border-fg colour235 | |
# set -g pane-border-bg black | |
# set -g pane-active-border-fg green | |
# set -g pane-active-border-bg black | |
# List of plugins | |
set -g @plugin 'tmux-plugins/tpm' | |
set -g @plugin 'tmux-plugins/tmux-sensible' | |
# Other examples: | |
# set -g @plugin 'github_username/plugin_name' | |
# set -g @plugin '[email protected]/user/plugin' | |
# set -g @plugin '[email protected]/user/plugin' | |
set -g @plugin 'tmux-plugins/tmux-battery' | |
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) | |
run '~/.tmux/plugins/tpm/tpm' |
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
# /Users/evansparkman/.config/tmuxinator/listen360.yml | |
name: listen360 | |
root: ~/Listen360/ | |
windows: | |
- Shell: clear && ls -lah | |
- DB: | |
layout: even-horizontal | |
panes: | |
- clear && psql l360_development_master | |
- clear && psql l360_development_data | |
- Gatekeeper: | |
root: "~/Listen360/gatekeeper" | |
layout: even-horizontal | |
panes: | |
- clear && git status | |
- clear && bundle exec rails s | |
- Listen360: | |
root: "~/Listen360/listen360" | |
layout: even-horizontal | |
panes: | |
- clear && git status | |
- clear && ./run_dev_puma.sh | |
- Legacy Dashboards: | |
root: "~/Listen360/legacy_dashboards" | |
layout: even-horizontal | |
panes: | |
- clear && git status | |
- clear && ./run_dev_puma.sh | |
- Frontend Apps: | |
root: "~/Listen360" | |
layout: even-horizontal | |
panes: | |
- cd alexandria | |
- cd sparta && yarn serve | |
- cd reports && yarn serve | |
- cd js_api_client | |
- Dashboards: | |
root: "~/Listen360/dashboards" | |
layout: even-horizontal | |
panes: | |
- clear && git status | |
- clear && bundle exec rails s | |
- Feedback: | |
root: "~/Listen360/feedback" | |
layout: even-horizontal | |
panes: | |
- clear && git status | |
- clear && ./run_dev_puma.sh | |
- Models/ApiClient: | |
root: "~/Listen360/" | |
layout: even-horizontal | |
panes: | |
- cd models && clear && git status | |
- cd api_client && clear && git status | |
# Optional tmux socket | |
# socket_name: foo | |
# Runs before everything. Use it to start daemons etc. | |
# pre: sudo /etc/rc.d/mysqld start | |
# Project hooks | |
# Runs on project start, always | |
# on_project_start: command | |
# Run on project start, the first time | |
# on_project_first_start: command | |
# Run on project start, after the first time | |
# on_project_restart: command | |
# Run on project exit ( detaching from tmux session ) | |
# on_project_exit: command | |
# Run on project stop | |
# on_project_stop: command | |
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions. | |
# pre_window: rbenv shell 2.0.0-p247 | |
# Pass command line options to tmux. Useful for specifying a different tmux.conf. | |
# tmux_options: -f ~/.tmux.mac.conf | |
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu. | |
# tmux_command: byobu | |
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used. | |
# startup_window: editor | |
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used. | |
# startup_pane: 1 | |
# Controls whether the tmux session should be attached to automatically. Defaults to true. | |
# attach: false | |
# Runs after everything. Use it to attach to tmux with custom options etc. | |
# post: tmux -CC attach -t listen360 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment