set -g default-terminal screen-256color #remove escape delay set -s escape-time 0 #change C-b to Ca unbind C-b set-option -g prefix C-a bind-key C-a send-prefix # split panes using | and - bind | split-window -h bind - split-window -v unbind '"' unbind % # stop tmux from renaming the window every time you run a command set-option -g allow-rename off set-option -g pane-active-border-fg blue # select panes with vim keys bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R #join window bind-key @ command-prompt -p "create pane from:" "join-pane -s ':%%'" # change base from 0 to 1 for reachability set -g base-index 1 # set vi modes set -g status-keys vi set -g mode-keys vi # enable mouse control (click wind, panes, resizable panes) - as of tmux 2.1 # copy/paste: shift+left click to highlight, then shift+middle to past #if-shell '[ $(echo "$(tmux -V | cut -d" " -f2) >= 2.1" | bc) -eq 1 ]' \ # 'set -g mouse on' \ # 'set -g mode-mouse on; set -g mouse-resize-pane on; set -g mouse-select-pane on; set -g mouse-select-window on' set -g mouse on #'set -g mouse on; set -g mouse-utf8 on' \ bind-key Tab last-window bind-key BTab previous-window # prefix-r to reload tmux config bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded" # Basic status bar colors set-option -g status-bg default set-option -g status-fg white # Left side of status bar set-option -g status-left-length 40 set-option -g status-left "#[fg=colour18,bg=colour12] #S #[fg=default,bg=default] " # Window status set-option -g window-status-format "#[fg=colour18,bg=brightblack] #I #[fg=white,bg=black] #W " set-option -g window-status-current-format "#[fg=colour18,bg=colour7] #I #[fg=colour18,bg=colour4] #W " set-option -g window-status-separator " " set-option -g status-justify left # Right side of status bar set-option -g status-right-length 40 set-option -g status-right " #[fg=brightwhite,bg=black] %a, %d %b %H:%M #[fg=colour18,bg=colour4] #(whoami)@#h " # Pane border set-option -g pane-border-bg default set-option -g pane-border-fg brightblack set-option -g pane-active-border-bg default set-option -g pane-active-border-fg white # Pane number indicator set-option -g display-panes-colour brightblack set-option -g display-panes-active-colour brightwhite # Clock mode set-option -g clock-mode-colour white set-option -g clock-mode-style 24 # use F12 to move to inner/outer tmux sessions when nested # https://medium.freecodecamp.org/tmux-in-practice-local-and-nested-remote-tmux-sessions-4f7ba5db8795 bind -T root F12 \ set prefix None \;\ set key-table off \;\ set window-status-format "#[fg=colour18,bg=brightblack] #I #[fg=white,bg=black] #W " \;\ set window-status-current-format "#[fg=colour18,bg=brightblac] #I #[fg=white,bg=blac] #W " \;\ set status-bg black \;\ set status-left "#[fg=white,bg=blac] #S #[fg=default,bg=default] " \;\ set status-right " #[fg=brightwhite,bg=black] %a, %d %b %H:%M #[fg=white,bg=blac] #(whoami)@#h " \;\ if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\ #display-message "ENTER inner tmux ..." bind -T off F12 \ set -u prefix \;\ set -u key-table \;\ set -u window-status-format \;\ set -u window-status-current-format \;\ set -u status-left \;\ set -u status-right \;\ set -u status-bg \;\ #display-message "EXIT inner tmux ..."