# --- Core Settings --- # Enable 256 color support set -g default-terminal "tmux-256color" set -ga terminal-overrides ",*:RGB" # Enable clipboard set -g set-clipboard on # Change prefix from Ctrl-b to Ctrl-z unbind C-b set -g prefix C-z bind-key C-z send-prefix # Vim-style pane navigation bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # Split windows (opens in same directory) unbind % bind | split-window -h -c "#{pane_current_path}" unbind '"' bind - split-window -v -c "#{pane_current_path}" # Reload config unbind r bind r source-file $HOME/.config/tmux/tmux.conf # Alt+hjkl to switch panes without prefix 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+number to select window bind -n M-1 select-window -t 1 bind -n M-2 select-window -t 2 bind -n M-3 select-window -t 3 bind -n M-4 select-window -t 4 bind -n M-5 select-window -t 5 bind -n M-6 select-window -t 6 bind -n M-7 select-window -t 7 bind -n M-8 select-window -t 8 bind -n M-9 select-window -t 9 # Set history limit set -g history-limit 20000 # --- BLACKOUT THEME COLORS (Catppuccin Mocha on Black) --- thm_bg="#000000" # True Black thm_fg="#cdd6f4" # Text thm_cyan="#89dceb" # Sky thm_black="#000000" thm_gray="#313244" # Surface1 thm_magenta="#cba6f7" # Mauve thm_pink="#f5c2e7" # Pink thm_red="#f38ba8" # Red thm_green="#a6e3a1" # Green thm_yellow="#f9e2af" # Yellow thm_blue="#89b4fa" # Blue thm_orange="#fab387" # Peach thm_black4="#45475a" # Surface2 # Status bar settings set -g status "on" set -g status-bg "${thm_bg}" set -g status-justify "left" set -g status-left-length "100" set -g status-right-length "100" # Messages set -g message-style "fg=${thm_cyan},bg=${thm_gray},align=centre" set -g message-command-style "fg=${thm_cyan},bg=${thm_gray},align=centre" # Panes set -g pane-border-style "fg=${thm_gray}" set -g pane-active-border-style "fg=${thm_magenta}" # Windows set -g window-status-activity-style "fg=${thm_fg},bg=${thm_bg},none" set -g window-status-separator "" set -g window-status-style "fg=${thm_fg},bg=${thm_bg},none" # Statusline - current window (Mirroring the shell prompt style) set -g window-status-current-format "#[fg=${thm_magenta},bg=${thm_bg}] #I: #[fg=${thm_fg},bg=${thm_bg},bold] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-1 | rev) " # Statusline - other windows set -g window-status-format "#[fg=${thm_black4},bg=${thm_bg}] #I: #[fg=${thm_black4},bg=${thm_bg}]#W" # Statusline - right side set -g status-right "#[fg=${thm_gray},bg=${thm_bg}]#[fg=${thm_fg},bg=${thm_gray}]  #W #{?client_prefix,#[fg=${thm_red}],#[fg=${thm_cyan}]}#[bg=${thm_gray}]#{?client_prefix,#[bg=${thm_red}],#[bg=${thm_cyan}]}#[fg=${thm_bg}]󰣇 #[fg=${thm_fg},bg=${thm_gray}] #S " # Statusline - left side (empty) set -g status-left "" # Modes set -g clock-mode-colour "${thm_blue}" set -g mode-style "fg=${thm_bg} bg=${thm_magenta} bold" # --- Indexing & Behavior --- set -g base-index 1 set -g pane-base-index 1 set-window-option -g pane-base-index 1 set-option -g renumber-windows on # Vim-like copy/paste set-window-option -g mode-keys vi bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel unbind -T copy-mode-vi MouseDragEnd1Pane