dots/.config/tmux/tmux.conf
2025-05-05 12:40:50 -07:00

112 lines
2.6 KiB
Bash

###############
### PLUGINS ###
###############
set -g default-terminal "tmux-256color"
set -g @plugin 'catppuccin/tmux#v2.1.3'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tpm'
################
### BINDINGS ###
################
### PREFIXED ###
# r : RELOAD
bind r source-file ~/.config/tmux/tmux.conf
# | : HORIZONTAL SPLIT
bind | split-window -h
# - : VERTICAL SPLIT
bind - split-window -v
# X : KILL PANE
bind X kill-pane
# Alt-arrow : RESIZE 1 ROW
bind M-Left resize-pane -L 1 \; switch-client -T prefix
bind M-Down resize-pane -D 1 \; switch-client -T prefix
bind M-Up resize-pane -U 1 \; switch-client -T prefix
bind M-Right resize-pane -R 1 \; switch-client -T prefix
# C-arrow : RESIZE 5 ROWS
bind C-Left resize-pane -L 5 \; switch-client -T prefix
bind C-Down resize-pane -D 5 \; switch-client -T prefix
bind C-Up resize-pane -U 5 \; switch-client -T prefix
bind C-Right resize-pane -R 5 \; switch-client -T prefix
# Alt-c : CHANGE SESSION ROOT DIR
bind M-c attach-session -c "#{pane_current_path}"
### UNPREFIXED ###
# Alt-arrow : SWITCH PANES
bind -n M-Left select-pane -L
bind -n M-Down select-pane -D
bind -n M-Up select-pane -U
bind -n M-Right select-pane -R
# Alt-hjkl : SWITCH PANES
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Alt-z : FULL SCREEN
bind -n M-z resize-pane -Z
################
### SETTINGS ###
################
# Enable mouse
set -g mouse on
# Don't rename windows automatically
set-option -g allow-rename off
# Don't do anything when a 'bell' rings
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 COPYING ###
#######################
# Enable Vi keybindings in copy mode
set-window-option -g mode-keys vi
# Bind 'v' to start selection in copy mode
bind-key -T copy-mode-vi v send -X begin-selection
# Bind 'y' to copy the selection to the system clipboard
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel
# Bind 'Y' to copy the entire buffer to the system clipboard
bind-key -T copy-mode-vi Y send -X copy-pipe-and-cancel
############
### LOAD ###
############
# Catppuccin conf
source-file ~/.config/tmux/catppuccin.conf
# Local conf if using
if-shell "[ -f ~/.config/tmux/local.tmux.conf ]" "source-file ~/.config/tmux/local.tmux.conf"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
# Install with git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
run ~/.config/tmux/plugins/tpm/tpm