###################################################################### # START OF PLUGINS ###################################################################### # Plugin manager for tmux set -g @plugin 'tmux-plugins/tpm' set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/plugins/' # Simple tmux options for anyone set -g @plugin 'tmux-plugins/tmux-sensible' #set -g @plugin 'odedlaz/tmux-onedark-theme' # Gruvbox theme set -g @plugin 'egel/tmux-gruvbox' set -g @tmux-gruvbox 'dark' # or 'light' # Persistent tmux envs across system restarts set -g @plugin 'tmux-plugins/tmux-resurrect' # Continuous saving of tmux environment set -g @plugin 'tmux-plugins/tmux-continuum' ####################################################### # TMUX-CONTINUUM ####################################################### # Enables restoral of saved tmux config set -g @continuum-restore 'on' # How often to save a tmux layout set -g @continuum-save-interval '10' ####################################################### # TMUX-RESURRECT ####################################################### # Capture contents of each pane set -g @resurrect-capture-pane-contents 'on' # Set to resurrect neovim sessions set -g @resurrect-strategy-nvim 'session' # Processes to resurrect set -g @resurrect-processes '~julia' ####################################################### # TMUX-SENSIBLE ####################################################### # Increase scrollback buffer size set -g history-limit 50000 ###################################################################### # END OF PLUGINS ###################################################################### ###################################################################### # START OF GENERAL CONFIGURATIONS ###################################################################### # Turn on interactivity with mouse set -g mouse on bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'" # Enables italics in tmux #set -g default-terminal "tmux-256color" set -g default-terminal "screen-256color" # Terminal type configuration set -ga terminal-overrides ",screen-256color:RGB" set -ag terminal-overrides ",alacritty:RGB" # Start window numbering at specific num set -g base-index 1 # Renumber windows on window close set -g renumber-windows on # Set vi mode setw -g mode-keys vi ####################################################### # KEY BINDING ####################################################### # hjkl pane traversal bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # Remap prefix from 'C-b' to 'C-a' unbind C-b set-option -g prefix C-a bind-key C-a send-prefix # Bind popup display commands # bind t popup -KER "topydo columns" # bind d popup -h80% -w80% -KR "gcalcli --calendar \"JZ Calendar\" calw" # bind s popup -h80% -w80% -KER "spt" # bind C-t popup -KR "$SHELL" bind-key -r f run-shell "tmux neww ~/.local/bin/tmux-sessionizer" bind -T copy-mode-vi v send -X begin-selection bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy" bind P paste-buffer bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy" ###################################################################### # END OF GENERAL CONFIGURATIONS ###################################################################### # Initialize tpm plugin manager - DO NOT MOVE run '~/.tmux/plugins/tpm/tpm'