arch/dot_tmux.conf
2025-10-30 22:26:06 +00:00

50 lines
3.8 KiB
Text

unbind C-b # unbind default prefix
unbind Left # unbind default pane moves
unbind Right # "
unbind Up # "
unbind Down # "
bind-key ` send-prefix # bind backtick as prefix
bind-key r source-file ~/.tmux.conf \; display-message "reloaded tmux config"
bind-key c command-prompt -p "window name:" "new-window; rename-window '%%'"
bind-key -n C-f display-popup -E "tmux-sessionizer"
bind-key -n C-Left previous-window # window back
bind-key -n C-Right next-window # window forward
bind-key -n C-Up switch-client -p # session back
bind-key -n C-Down switch-client -n # session forward
bind-key -n M-Left select-pane -L # pane left
bind-key -n M-Right select-pane -R # pane right
bind-key -n M-Up select-pane -U # pane up
bind-key -n M-Down select-pane -D # pane down
bind-key -n M-z resize-pane -Z # pane zoom
bind-key -n M-w confirm-before -p "are you sure you want to kill #P?" kill-pane
bind-key -n M-C-Left resize-pane -L 5
bind-key -n M-C-Right resize-pane -R 5
bind-key -n M-C-Up resize-pane -U 5
bind-key -n M-C-Down resize-pane -D 5
set-option -g prefix ` # "
set-option -g default-terminal "$TERM" # 256-colors
set-option -ag terminal-overrides ",$TERM:Tc" # "
set-option -s escape-time 0 # vi-mode switch delay
set-option -g history-limit 50000 # scrollback buffer size
set-option -g display-time 6000 # tmux msg display duration
set-option -g status-interval 5 # status-left/right refresh rate
set-option -g focus-events on # allow tmux to react to terminal focus events
set-option -g exit-empty off # don't exit tmux when the last pane is closed
set-option -g exit-unattached off # don't exit tmux when all clients detach
set-option -g detach-on-destroy off # don't detach clients when a session is destroyed
set-option -g renumber-windows on # renumber windows when one is closed
set-option -g base-index 1 # start window numbering at 1
set-w -g pane-base-index 1 # start pane numbering at 1
set-option -g allow-rename off # don't rename windows automatically
set-option -g mouse on # mouse control
set-option -g status-style bg=default # status styling
set-option -g status-left-length 40 # max allowed length
set-option -g status-justify absolute-centre # windows alignment
set-option -g status-left "#{?client_prefix,#[bg=white]#[fg=black]#H @ #S.COMMAND,#[bg=default]#H @ #S}"
set-option -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}\"#{=21:pane_title}\""
set-option -g @plugin "tmux-plugins/tpm" # tmux plugin manager
set-option -g @plugin "sainnhe/tmux-fzf" # tmux fuzzy finder
TMUX_FZF_LAUNCH_KEY="v" # <prefix>v to open tmux-tzf menu
TMUX_FZF_ORDER="session|window|pane|command" # hides some unused options from tmux-fzf menu
run "~/.tmux/plugins/tpm/tpm" # inits tpm (REMARK: this should always be last)