set -g default-command "${SHELL}" # Status-bar settings set -g status-right "%A, %F - %H:%M" set -g window-status-current-style "underscore" set -g message-command-style 'fg=#000000,bg=#FFFF00' set -g message-style 'fg=#000000, bg=#FFFF00' set -g status-bg '#333333' set -g status-fg '#FFFFFF' set -g set-titles on set -g set-titles-string "#T" set -g automatic-rename off # Enable RGB colour if running in xterm(1) # set-option -sa terminal-overrides ",xterm*:Tc" # Change the default $TERM to tmux-256color # set -g default-terminal "tmux-256color" # Set history-limit set -g history-limit 30000 # enable emacs mode-keys set -g mode-keys emacs # various window option set -g base-index 1 set -g pane-base-index 1 set-window-option -g pane-base-index 1 set-option -g renumber-windows on setw -g aggressive-resize on ## KEYBINDS # Change the prefix key to C-a set -g prefix C-Space unbind C-b bind C-Space send-prefix bind C-s split-window -v -c "#{pane_current_path}" bind C-v split-window -h -c "#{pane_current_path}" bind C-w killp bind C-q killw bind C-p previous-window bind C-n next-window bind -n M-n swap-window -t +1\; select-window -t +1 bind -n M-p swap-window -t -1\; select-window -t -1 bind -n M-h resize-pane -L 5 bind -n M-j resize-pane -D 5 bind -n M-k resize-pane -U 5 bind -n M-l resize-pane -R 5 # Smart pane switching with awareness of Vim splits. # See: https://github.com/christoomey/vim-tmux-navigator is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?)(diff)?$'" bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'" bind-key -T copy-mode-vi 'C-H' select-pane -L bind-key -T copy-mode-vi 'C-J' select-pane -D bind-key -T copy-mode-vi 'C-K' select-pane -U bind-key -T copy-mode-vi 'C-L' select-pane -R bind-key -T copy-mode-vi 'C-\' select-pane -l bind C-l send-keys 'C-l' bind C-k send-keys 'C-k' # Turn the mouse off set -g mouse off # Keys to toggle monitoring activity in a window and the synchronize-panes option bind m set monitor-activity bind y set synchronize-panes\; display 'synchronize-panes #{?synchronize-panes,on,off}'