blob: ce68c4abe57f23f6e87f9b655115efb91741ee2f [file] [log] [blame] [raw]
set-option -g allow-rename on
set-option -g automatic-rename off
set-option -g base-index 1
set-option -g default-command "$SHELL"
set-option -g default-terminal "tmux-256color"
set-option -g history-limit 25000
set-option -g mode-keys vi
set-option -g prefix C-f
set-option -g renumber-windows yes
set-option -g set-titles on
set-option -g set-titles-string "#T"
set-option -g xterm-keys on
set-option -g status-interval 1
set-option -g status-left "#(tmux-status-left)"
set-option -g status-left-length 40
set-option -g status-right ""
set-option -g window-status-current-attr bold
set-option -g window-status-current-format "[#I#F#{?window_zoomed_flag, ,}#{=40:pane_title}]"
set-option -g window-status-format "#I#{?window_zoomed_flag, ,}#F#{?window_flags,, }#{?window_zoomed_flag, ,}#{=20:pane_title}"
set-option -g pane-active-border-fg colour247
set-option -g pane-border-fg colour235
set-option -g status-bg colour7
set-option -g status-fg colour16
set-option -g status-left-bg colour4
set-option -g status-left-fg colour15
set-option -g window-status-current-bg colour15
set-option -g window-status-current-fg colour16
set-option -g update-environment "DBUS_SESSION_BUS_ADDRESS DISPLAY KRB5CCNAME \
SESSION_MANAGER SSH_AGENT_PID SSH_ASKPASS SSH_AUTH_SOCK SSH_CONNECTION \
WINDOWID XAUTHORITY SSH_TTY"
bind-key w break-pane -d
bind-key l clear-history \; display "Pane history cleared."
bind-key C-f if-shell "test #{window_panes} -eq 1" last-window last-pane
bind-key N new-session
bind-key t new-window
bind-key z resize-pane -Z
bind-key C-r rotate-window -D
bind-key -n C-t run-shell "metamux new-shell-in-pane #{window_panes}"
bind-key n run-shell "metamux rotate-pane next"
bind-key p run-shell "metamux rotate-pane prev"
bind-key q run-shell "metamux pane-buster"
bind-key S run-shell "metamux join-hidden-pane -v"
bind-key u run-shell "metamux open-last-url-printed"
bind-key | run-shell "metamux join-hidden-pane -h"
bind-key f send-prefix
bind-key r source "$HOME/.tmux.conf" \; display "Configuration reloaded."
# When the current window is split, Ctrl+Tab and Ctrl+Shift+Tab should rotate
# between the split windows. If there is only one pane in the current window,
# Ctrl+Tab and Ctrl+Shift+Tab will cycle between windows as though they were
# tabs in modern desktop UIs.
bind-key -n C-Tab if-shell "test #{window_panes} -eq 1" next-window "select-pane -t :.+"
bind-key -n C-S-Tab if-shell "test #{window_panes} -eq 1" previous-window "select-pane -t :.-"
# Binding to mark and swap panes; if no pane is marked, the shortcut will mark
# the active pane, but if a pane is already marked, active pane will be swapped
# with the marked pane.
bind-key m if-shell 'test -z "$PANE_IS_MARKED"' \
"select-pane -m; set-env PANE_IS_MARKED 1" \
"swap-pane; select-pane -M; set-env -u PANE_IS_MARKED"