unbind C-b set -g prefix C-a bind C-a send-prefix set -g prefix ` bind-key ` send-prefix bind-key C-a set-option -g prefix C-a bind-key C-b set-option -g prefix ` set-option -g history-limit 100000000 set-option -g status-position bottom set-option -g bell-action other set-option -g visual-bell on set -g base-index 1 set -g pane-base-index 1 set-option -g base-index 1 set-window-option -g pane-base-index 1 set -g default-terminal "screen-256color" set -ga terminal-overrides ",xterm-256color*:Tc" # tell Tmux that outside terminal supports true color # set -g default-shell zsh # force a reload of the config file unbind r bind r source-file ~/.tmux.conf \; display "Reloaded!" bind -n C-b send-keys -R \; clear-history \; send-keys C-l set -g status on set-option -g status-interval 2 bind Escape confirm-before "kill-server" # Automatically set window title set-window-option -g automatic-rename off set-window-option -g allow-rename on #set-option -g set-titles on set-window-option -g xterm-keys on set-option -g xterm-keys on set -g status-keys vi # Use vim keybindings in copy mode setw -g mode-keys vi # Setup 'v' to begin selection as in Vim bind-key -Tcopy-mode-vi 'v' send -X begin-selection bind-key -Tcopy-mode-vi 'y' send -X copy-pipe-and-cancel "xclip -sel clip -i" # Bind ']' to use pbpaste #bind ] run "pbpaste | tmux load-buffer - && tmux paste-buffer" setw -g monitor-activity on bind-key v split-window -h -c '#{pane_current_path}' bind-key s split-window -v -c '#{pane_current_path}' bind -n M-s set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}" bind -n M-z resize-pane -Z bind -n M-j resize-pane -D 5 bind -n M-k resize-pane -U 5 bind -n M-h resize-pane -L 5 bind -n M-l resize-pane -R 5 # smart pane switching with awareness of vim splits bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-h) || tmux select-pane -L" bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-j) || tmux select-pane -D" bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-k) || tmux select-pane -U" bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-l) || tmux select-pane -R" #bind -n C-\ run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys 'C-\\') || tmux select-pane -l" # allowd pane-navigation while in copy-mode 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 # Shift arrow to switch windows bind -n S-Left previous-window bind -n S-Right next-window # Ctrl-Shift arrow to swap windows bind-key -n C-S-Left swap-window -t -1 bind-key -n C-S-Right swap-window -t +1 # loop through current window's panes while zoomed bind -r "'" select-pane -t .+1 \; resize-pane -Z bind -r ";" select-pane -t .-1 \; resize-pane -Z bind-key C-a set-option -g prefix C-a # No delay for escape key press set -sg escape-time 0 #set -g @continuum-restore 'off' #set -g @resurrect-save-shell-history 'on' #set -g @resurrect-strategy-vim 'session' #set -g @themepack 'powerline/double/cyan' source-file "${HOME}/.tmux/osiris-theme.conf" # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'christoomey/vim-tmux-navigator' set -g @plugin 'tmux-plugins/tmux-cpu' set -g @plugin 'tmux-plugins/tmux-battery' set -g @plugin 'tmux-plugins/tmux-cowboy' # Kill process in pane w/ prefix+* #set -g @plugin 'odedlaz/tmux-onedark-theme' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm'