# Reduce Esc-key processing delay set -sg escape-time 0 # Enable focus-events set-option -g focus-events on # Force truecolor set-option -sa terminal-overrides ",xterm*:Tc" # Start indexing at 1 set -g base-index 1 setw -g pane-base-index 1 # Easy config reload bind-key R source-file ~/.config/tmux/tmux.conf \; display-message "tmux.conf reloaded." # Fun stuff set -g history-limit 20000 set -g display-time 2000 set -g status-interval 10 # Emacs key bindings in tmux command prompt (prefix + :) are better than # vi keys, even for vim users set -g status-keys emacs # Focus events enabled for terminals that support them set -g focus-events on # Super useful when using "grouped sessions" and multi-monitor setup setw -g aggressive-resize on ### ### VIM RELEVANT KEYBINDINGS # VI keybindings set -g mode-keys vi set-window-option -g mode-keys vi # Paste keys bind P paste-buffer bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi y send-keys -X copy-selection bind-key -T copy-mode-vi r send-keys -X rectangle-toggle ### #setw -g monitor-activity on #set -g visual-activity on set -g mode-keys vi # moving between panes with vim movement keys bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # moving between windows with vim movement keys bind -r C-h select-window -t :- bind -r C-l select-window -t :+ # resize panes with vim movement keys bind -r H resize-pane -L 5 bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r L resize-pane -R 5 # keybindings bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" #set -g status-right '#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}#{=21:pane_title} %Y-%m-%d %H:%M' ###################### ### 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 # panes set -g pane-border-style fg=black set -g pane-active-border-style fg=red # statusbar set -g status-position bottom set -g status-justify left set -g status-style 'bg=white fg=black' set -g status-left '' set -g status-right-length 50 set -g status-left-length 20 set -g status-right '#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}#{=21:pane_title} %Y-%m-%d %H:%M'