Created
January 21, 2026 11:39
-
-
Save rashedInt32/543fdc4daabf5d717c64c765de9160ef to your computer and use it in GitHub Desktop.
tmux config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ##### Terminal Capabilities ##### | |
| # Use 256-color with fallback-safe truecolor support | |
| set-option -g focus-events on | |
| set -g default-terminal "tmux-256color" | |
| set -as terminal-overrides ",xterm-256color:Tc" | |
| #set-option -g default-command "zsh -c 'source ~/.zshrc; zsh -i'" | |
| # Enable status bar by default | |
| set -g status on | |
| set -g mouse on | |
| set -g status-position bottom | |
| set -g status on | |
| set -g pane-border-status off | |
| set -g window-size latest | |
| setw -g aggressive-resize on | |
| # Transparent status bar styling with Everforest colors | |
| # Match tokyonight-night theme | |
| #set -g status-style bg=#1a1b26,fg=#c0caf5 | |
| # Left and right status | |
| set -g status-bg "#011627" | |
| # Status-left with consistent fg/bg | |
| set -g status-left "#[fg=#7aa2f7,bg=#011627] #S #[fg=default,bg=default]" | |
| set -g status-right "" | |
| set -g window-status-format "" | |
| set -g window-status-current-format "" | |
| set -g status-left-length 50 | |
| # Window status | |
| setw -g window-status-style bg=#1a1b26,fg=#7aa2f7 | |
| setw -g window-status-current-style bg=#1a1b26,fg=#bb9af7 | |
| #setw -g window-status-format "#I:#W" | |
| #setw -g window-status-current-format "#I:#W*" | |
| # Separators for a clean look | |
| set -g status-justify left | |
| # Make escape latency faster (great for vim users) | |
| set -s escape-time 0 | |
| # Start windows at index 1 | |
| set -g base-index 1 | |
| ##### Prefix Key ##### | |
| # Change prefix to Ctrl-a | |
| unbind C-b | |
| set -g prefix C-a | |
| bind C-a send-prefix | |
| bind r source-file ~/.tmux.conf | |
| # spit window keybindings | |
| # split current window horizontally | |
| bind - split-window -v | |
| # split current window vertically | |
| bind _ split-window -h | |
| # pane navigation | |
| bind -r h select-pane -L # move left | |
| bind -r j select-pane -D # move down | |
| bind -r k select-pane -U # move up | |
| bind -r l select-pane -R # move right | |
| bind > swap-pane -D # swap current pane with the next one | |
| bind < swap-pane -U # swap current pane with the previous one | |
| ##### Copy Mode (Vi-style) ##### | |
| # Enable vi keybindings in copy mode | |
| setw -g mode-keys vi | |
| # Vim-style visual selection (v) and copy (y) to system clipboard (macOS-specific) | |
| bind -T copy-mode-vi v send -X begin-selection | |
| bind -T copy-mode-vi y send -X copy-pipe-and-cancel "pbcopy" | |
| ##### Sessionizer ##### | |
| # Sessionizer script | |
| bind-key -r s new-window -n sessionizer "/Users/rashed/.config/.local/scripts/tmux-sessionizer" | |
| # Choose session instead of search | |
| bind-key f choose-session |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment