unbind C-b set -g prefix C-z bind-key C-a send-prefix # split panes using | and - bind | split-window -h -c "#{pane_current_path}" bind - split-window -v -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" unbind '"' unbind % bind N new # switch panes using Alt-arrow without prefix bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D bind -n M-h select-pane -L bind -n M-l select-pane -R bind -n M-k select-pane -U bind -n M-j select-pane -D bind m resize-pane -Z # reload config # Enable mouse mode (tmux 2.1 and above) set -g mouse on ###################### ### DESIGN CHANGES ### ###################### # loud or quiet? set -g visual-activity off set -g visual-bell off set -g visual-silence off setw -g monitor-activity off set -g bell-action none ## VI mode (https://sanctum.geek.nz/arabesque/vi-mode-in-tmux/) set-window-option -g mode-keys vi bind-key -T copy-mode-vi 'v' send -X begin-selection bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel ## Overriding copy-mode binding bind -n 'PageUp' copy-mode ## only this line might not be enough set -g default-terminal "xterm-256color" ## Needs this line also to overrides the default color set-option -ga terminal-overrides ",xterm-256color:RGB" # older tmux? replace "RGB" with "Tc" # set-default colorset-option -ga terminal-overrides ",xterm-256color:Tc" ## For better ESC speed in vim set-option -sg escape-time 10 # Send the same command to all panes/windows/sessions # Source: https://scripter.co/command-to-every-pane-window-session-in-tmux/ bind E command-prompt -p "Command:" \ "run \"tmux list-panes -a -F '##{session_name}:##{window_index}.##{pane_index}' \ | xargs -I PANE tmux send-keys -t PANE '%1' Enter\"" # Send command only to current session bind C-e command-prompt -p "Command:" \ "run \"tmux list-panes -s -F '##{session_name}:##{window_index}.##{pane_index}' \ | xargs -I PANE tmux send-keys -t PANE '%1' Enter\"" # Start window numbering at 1 set -g base-index 1 bind -r [ switch-client -p bind -r ] switch-client -n # status bar theme - from https://gist.github.com/rajanand02/9407361 set -g status-bg 'colour235' set -g message-command-fg 'colour222' set -g status-justify 'centre' set -g status-left-length '100' set -g status 'on' set -g pane-active-border-fg 'colour154' set -g message-bg 'colour238' set -g status-right-length '100' set -g status-right-attr 'none' set -g message-fg 'colour222' set -g message-command-bg 'colour238' set -g status-attr 'none' set -g status-utf8 'on' set -g pane-border-fg 'colour238' set -g status-left-attr 'none' setw -g window-status-fg 'colour121' setw -g window-status-attr 'none' setw -g window-status-activity-bg 'colour235' setw -g window-status-activity-attr 'none' setw -g window-status-activity-fg 'colour154' setw -g window-status-separator '' setw -g window-status-bg 'colour235' set -g status-left '#[fg=colour232,bg=colour154] #S #[fg=colour154,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #W #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour121,bg=colour235] #(whoami) #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]' set -g status-right '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour121,bg=colour235] %r ' # to see custom timezone https://stackoverflow.com/a/39868365/9587133 setw -g window-status-format '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[default] #I #W #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]' setw -g window-status-current-format '#[fg=colour235,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #I #W #F #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]'