112 lines
2.6 KiB
Bash
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
|