# improve colors set -g default-terminal 'screen-256color' # 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 -r C-h select-window -t :- bind -r C-l select-window -t :+ bind -T copy-mode-vi "v" send -X begin-selection bind -T copy-mode-vi "V" send -X rectangle-toggle bind -T copy-mode-vi "y" send -X copy-selection-and-cancel # act like GNU screen unbind C-b set -g prefix C-a bind a send-prefix bind C-a send-prefix bind b send-prefix bind C-b send-prefix # create new windows/panes in same directory bind c new-window -c "#{pane_current_path}" bind "\"" split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" # enable and disable keyboard input for panes bind < select-pane -d \; display-message "input disabled" bind > select-pane -e \; display-message "input enabled" # size windows based on clients looking at that window setw -g aggressive-resize on # enable mouse control set -g mouse on # start window numbers at 1 to match keyboard order with tmux order set -g base-index 1 # start pane numbers at 1 to match keyboard order with tmux order setw -g pane-base-index 1 # easy resizing of panes bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r H resize-pane -L 5 bind -r L resize-pane -R 5 # reenable automatic renaming for the current window bind N setw automatic-rename on \; display-message "automatic rename enabled" # renumber windows sequentially after closing any of them set -g renumber-windows on # monitor windows for activity setw -g monitor-activity on # don't wait for escape sequences set -sg escape-time 0 # display pane numbers for longer set -g display-panes-time 2000 set -g status-left-length 20 set -g status-left '#{?pane_input_off,#[fg=colour160],#[fg=colour136]}[#[fg=colour136]#S:#I.#P#{?pane_input_off,#[fg=colour160],#[fg=colour136]}] ' set -g status-right '#[fg=colour166]#([ "$(tmux show-option -g prefix)" != "prefix C-a" ] && echo "($(tmux show-option -g prefix | cut -c 8-)) ")#[fg=colour33]%d %b %Y #{?client_prefix,#[fg=colour160],#[fg=colour61]}- #[fg=colour64]%I:%M %p #{?client_prefix,#[fg=colour160],#[fg=colour61]}- #[fg=colour37]#([ -f $HOME/.name ] && cat $HOME/.name || hostname)' # increase scrollback lines set -g history-limit 65536 # keybinding to clear history bind C-k clear-history \; display-message "history cleared" # C-b ! breaks current pane into separate window # join a pane/window from the current session into the current window bind @ command-prompt -p "create pane from:" "join-pane -s ':%%'" # reload the .tmux.conf file with Ctrl-r bind C-r source-file ~/.tmux.conf \; display-message "configuration reloaded" # toggle passthrough of prefix bind P if-shell "[ \"$(tmux show-options -g prefix)\" = \"prefix C-a\" ]" '\ set -g prefix C-b; display-message "passthrough enabled"; refresh-client -S; \ ' '\ set -g prefix C-a; display-message "passthrough disabled"; refresh-client -S; \ ' #### color (Solarized 256) set -g status-style bg=colour235,fg=colour136 setw -g window-status-style fg=colour244 setw -g window-status-current-style fg=colour166 setw -g window-status-activity-style fg=colour61 setw -g window-status-bell-style fg=colour61 set -g pane-border-style fg=colour235 set -g pane-active-border-style fg=colour240 set -g message-style bg=colour235,fg=colour166 # pane number display set -g display-panes-active-colour colour166 #blue set -g display-panes-colour colour33 #orange # clock setw -g clock-mode-colour colour64 #green # Allow local customization in ~/.tmux_local.conf if-shell "[ -f ~/.tmux_local.conf ]" 'source ~/.tmux_local.conf'