# ------------------------------------------------------------------- # Settings # ------------------------------------------------------------------- setw -g utf8 on # use UTF-8 set -g history-limit 15000 # increase scrollback lines set -g default-command 'bash' # no login shell set -g renumber-windows on # renumber windows sequentially after closing any of them setw -g monitor-activity on # monitor for activity in windows set -g visual-activity on # display status line message for windows with activity (monitor-activity) set -g aggressive-resize on # smart window resizing when multiple attached clients set -sg escape-time 50 # shorter Esc/Alt disambiguation timeout # update program titlebar caption set -g set-titles on set -g set-titles-string '[#S:#I.#P #H] #W' # status bar set -g status-utf8 on set -g status-style none set -g status-left '' set -g status-right '#[fg=blue]#(whoami)@#h (#S:#I.#P)' setw -g window-status-style 'fg=brightblack' setw -g window-status-current-style 'bg=brightblack,bold,fg=brightwhite' # ------------------------------------------------------------------- # Key Bindings # ------------------------------------------------------------------- # act like GNU screen unbind C-b set -g prefix C-a bind-key a send-prefix bind-key A command-prompt "rename-window %%" bind-key C-a last-window bind-key C new-window bind-key c new-window -n 'sh' # new window w/ default title bind-key C-c new-window -n 'sh' # (same as C-a c) bind-key C-d detach # (same as C-a d) bind-key C-n next-window # (same as C-a n) bind-key C-p previous-window # (same as C-a p) bind-key Escape copy-mode unbind-key Space # vim style movement setw -g mode-keys vi bind-key h select-pane -L bind-key j select-pane -D bind-key k select-pane -U bind-key l select-pane -R bind-key -r C-j resize-pane -D 1 bind-key -r C-k resize-pane -U 1 bind-key -r C-h resize-pane -L 1 bind-key -r C-l resize-pane -R 1 # intuitive window splitting bind-key '|' split-window -h bind-key '\' split-window -h bind-key '-' split-window -v # Shift+0-9 to select screens 10-19 bind-key ')' select-window -t :10 bind-key '!' select-window -t :11 bind-key '@' select-window -t :12 bind-key '#' select-window -t :13 bind-key '$' select-window -t :14 bind-key '%' select-window -t :15 bind-key '^' select-window -t :16 bind-key '&' select-window -t :17 bind-key '*' select-window -t :18 bind-key '(' select-window -t :19 bind R source-file ~/.tmux.conf