##### ───────────────────────────────────────────── ##### 🎨 Terminal and UI Settings ##### ───────────────────────────────────────────── # Enable 24-bit RGB color in supported terminals set-option -sa terminal-overrides ",xterm*:Tc" # Enable mouse support set -g mouse on # Set terminal type (helps with correct rendering in some environments like WSL) set -s default-terminal 'tmux-256color' # Set status bar position at the top set -g status-position top ##### ───────────────────────────────────────────── ##### ⌨️ Prefix and Keybindings ##### ───────────────────────────────────────────── # Change default prefix from Ctrl-b to Ctrl-Space unbind C-b set -g prefix C-Space bind C-Space send-prefix # Vim-style pane navigation with arrow keys bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # Use Alt + Arrow keys to switch panes (without prefix) bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D # Use Shift + Arrow to switch windows bind -n S-Left previous-window bind -n S-Right next-window # Use Alt + H/L to switch windows (Vim-style) bind -n M-H previous-window bind -n M-L next-window # Start windows and panes at 1 (not 0) 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 ##### ───────────────────────────────────────────── ##### 📋 Copy Mode Enhancements (Vi style) ##### ───────────────────────────────────────────── # Use Vi-style keybindings in copy mode set-window-option -g mode-keys vi # Enable visual selection and copy 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 ##### ───────────────────────────────────────────── ##### 🔀 Pane and Session Management ##### ───────────────────────────────────────────── # Split panes in the same directory bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" # Session switcher popup (bind 'n') bind n display-popup -E 'bash -i -c "read -p \"Session name: \" name; tmux new-session -d -s \$name && tmux switch-client -t \$name"' # Session list with fzf (bind 'j') bind j display-popup -E "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" ##### ───────────────────────────────────────────── ##### 🔌 Plugin Management with TPM ##### ───────────────────────────────────────────── # Plugin list set -g @plugin 'tmux-plugins/tpm' # TPM itself set -g @plugin 'tmux-plugins/tmux-sensible' # Basic sane defaults set -g @plugin 'christoomey/vim-tmux-navigator' # Seamless vim + tmux pane navigation set -g @plugin 'tmux-plugins/tmux-yank' # Copy to system clipboard set -g @plugin 'tmux-plugins/tmux-resurrect' # Save/restore sessions set -g @plugin 'tmux-plugins/tmux-continuum' # Auto-save + start tmux at login ##### ───────────────────────────────────────────── ##### 🧛 Dracula Theme Configuration ##### ───────────────────────────────────────────── # Theme-specific settings set -g @dracula-time "Europe/Belfast,America/New_York" set -g @dracula-time-military false set -g @dracula-show-empty-plugins false set -g @dracula-show-powerline true set -g @dracula-fixed-location "Antrim" set -g @dracula-show-flags true set -g @dracula-show-left-icon session set -g @dracula-show-fahrenheit false set -g @dracula-show-edge-icons false set -g @dracula-refresh-rate 5 set -g @dracula-show-left-icon "#H | #S " set -g @dracula-git-disable-status true set -g @dracula-git-show-repo-name true set -g @dracula-show-ssh-only-when-connected true set -g @dracula-plugins "git weather battery time ssh-session" ##### ───────────────────────────────────────────── ##### 🚀 TPM Initialization (Keep at Bottom) ##### ───────────────────────────────────────────── # Initialize TMUX Plugin Manager (TPM) run '~/.tmux/plugins/tpm/tpm' ##### ───────────────────────────────────────────── ##### 🚀 Development Plugins ##### ───────────────────────────────────────────── run ~/git-repos/dracula-tmux/dracula.tmux # Dracula theme for tmux