##################################### # Bindings ##################################### # Splits always start in the current pane's working directory unbind '"' unbind % bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" # Vim movements bind C-h select-pane -L bind C-j select-pane -D bind C-k select-pane -U bind C-l select-pane -R # Kill without prompting bind x kill-pane bind & kill-window # Easy resizing of the pane bind C-u resize-pane -D 3 bind C-i resize-pane -U 3 bind C-y resize-pane -L 3 bind C-o resize-pane -R 3 bind j resize-pane -D 3 bind k resize-pane -U 3 bind h resize-pane -L 3 bind l resize-pane -R 3 # Bind the last window/pane command bind C-b last-window bind C-g last-pane # Bind the last session command bind C-f switch-client -l # Faster window switching bind C-n next-window bind C-p previous-window # Synchronize mode, how the fuck did I not know about this bind a set-window-option synchronize-panes # Remap zoom, sleeping tmux way too much bind C-v resize-pane -Z # Swapping panes shorcut bind C-e swap-pane -s 1.2 -t 2.3 # I constantly mix up copy/paste. Very annoying with scripts unbind [ bind C-c copy-mode ##################################### # Settings ##################################### # Setup 'v' to begin selection as in Vim bind -Tcopy-mode-vi v send -X begin-selection # Help with the color problems set -g default-terminal "screen-256color" # Mouse Scrolling set-option -g mouse on # Use vim keybindings in copy mode and help menus setw -g mode-keys vi # Set the display panes timeout set-option -g display-panes-time 4000 # Make the escape faster, faster command sequences set -s escape-time 0 # Deal with screens having different set-window-option -g aggressive-resize # Use base 1 numbering, 0 base is a big stretch set -g base-index 1 setw -g pane-base-index 1 # Increase the history set -g history-limit 20000 ##################################### # Colors ##################################### # default statusbar colors set-option -g status-bg default #base02 set-option -g status-fg colour223 #yellow # pane border set-option -g pane-border-fg colour236 #base02 set-option -g pane-active-border-fg colour239 #base01 ## message text set-option -g message-bg default #base02 set-option -g message-fg colour196 #orange set-option -g status on set-option -g status-interval 2 set-option -g status-justify "centre" set-option -g status-left-length 110 set-option -g status-right-length 80 set-option -g status-left "#(~/.tmux/scripts/powerline.sh left)" set-option -g status-right "#(~/.tmux/scripts/powerline.sh right)" # Load/Ignore Mac specific options run-shell "bash ~/.tmux/scripts/check_os.sh" # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'thornycrackers/tmux-sessionist' set -g @plugin 'thornycrackers/tmux-drawer' set -g @plugin 'thornycrackers/tmux-open' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm'