# edit configuration bind e new-window -n '~/.tmux.conf' "sh -c '\${EDITOR:-nvim} ~/.tmux.conf&& tmux source ~/.tmux.conf && tmux display \"~/.tmux.conf sourced\"'" # reload configuration bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced' set-option -g default-terminal "xterm-256color" # colors! set-option -ga terminal-overrides ",xterm-256color:Tc" setw -g xterm-keys on # use C-q for prefix key set-option -g prefix C-q unbind-key C-a bind-key C-q send-prefix set -g base-index 1 # start windows numbering at 1 setw -g pane-base-index 1 # make pane numbering consistent with windows setw -g automatic-rename on # rename window to reflect current program set -g renumber-windows on # renumber windows when a window is closed set -g display-panes-time 800 # slightly longer pane indicators display time set -g display-time 1000 # slightly longer status messages display time # Allows for faster key repetition set -s escape-time 0 # activity & vi bindings set-option -g visual-activity on set-window-option -g monitor-activity on set-window-option -g mode-keys vi set-option -g status-keys vi # find session bind C-f command-prompt -p find-session 'switch-client -t %%' # pane navigation bind -r h select-pane -L # move left bind -r j select-pane -D # move down bind -r k select-pane -U # move up bind -r l select-pane -R # move right bind C-d swap-pane -D # swap current pane with the next one bind C-u swap-pane -U # swap current pane with the previous one # pane resizing bind -r C-h resize-pane -L 5 bind -r C-j resize-pane -D 5 bind -r C-k resize-pane -U 5 bind -r C-l resize-pane -R 5 # mouse support set -g mouse on set -g display-panes-time 3000 # slightly longer pane indicators display time set -g display-time 3000 # slightly longer status messages display time # use Tab to choose session because s has been used bind Tab choose-session # use vi-style keys to split vertical and horizonal bind v split-window -h -c "#{pane_current_path}" bind s split-window -v -c "#{pane_current_path}" set-option -g status-bg colour254 set -g status-interval 1 # redraw status line every second set -g pane-border-fg colour245 set -g pane-active-border-fg colour39 set -g message-bg colour221 set -g status-left-length 100 set -g status-left "#[fg=colour16,bg=colour226] ❐ #S#[fg=colour16,bg=colour226] ➧ #I #W " set -g status-justify centre # center align window list set -g status-right "#[bg=#99cc66] ☯ %m-%d %H:%M " # set window list colors - red for active and blue for inactive set-window-option -g window-status-fg brightblue set-window-option -g window-status-current-fg brightred # Enable locking set -g lock-command vlock set -g lock-after-time 0 # Seconds; 0 = never # bind l lock-client bind L lock-client