Last active
July 21, 2025 08:21
-
-
Save ugovaretto/68da4e4794b794411bfcc4147e38b4dc 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
# Rebind Prefix to CTRL-S | |
set-option -g prefix C-s | |
unbind C-b | |
bind C-a send-prefix | |
# Vim navigation | |
bind-key h select-pane -L | |
bind-key j select-pane -D | |
bind-key k select-pane -U | |
bind-key l select-pane -R | |
# Start all numbering at 1 instead of 0 for better key reachability | |
set-option -g base-index 1 | |
set-option -g pane-base-index 1 | |
# Reload config file (if changed) | |
bind r source-file ~/.config/tmux/tmux.conf | |
# Enable mouse support | |
set-option -g mouse on | |
# Increase history limit, as we want an "almost" unlimited buffer. | |
# May be set to something even higher, like 250k | |
set-option -g history-limit 100000 | |
# Fix Terminal Title display, to not contain tmux specic information | |
set-option -g set-titles on | |
set-option -g set-titles-string "#{pane_title}" | |
# Open new windows and panes in the current working directory of the active | |
# pane. | |
bind c new-window -c "#{pane_current_path}" | |
bind '"' split-window -c "#{pane_current_path}" | |
bind % split-window -h -c "#{pane_current_path}" | |
# Enable extended support for some more sophisticated terminal emulator | |
# features. Disable them if they are causing problems! | |
set-option -s focus-events on | |
set-option -s extended-keys on | |
# Disable waiting time when pressing escape, for smoother Neovim usage. Disable | |
# if differentiation between function and meta keycombination is needed. | |
set-option -s escape-time 0 | |
## | |
# Styling | |
## | |
# gruvbox material colorscheme (mostly) | |
RED="#ea6962" | |
GREEN="#a9b665" | |
YELLOW="#d8a657" | |
BLUE="#7daea3" | |
MAGENTA="#d3869b" | |
CYAN="#89b482" | |
BLACK="#1d2021" | |
DARK_GRAY="#32302F" | |
LIGHT_GRAY="#4F4946" | |
BG="#32302F" | |
FG="#d4be98" | |
# Nerdfont characters | |
HALF_ROUND_OPEN="#(printf '\uE0B6')" | |
HALF_ROUND_CLOSE="#(printf '\uE0B4')" | |
TRIANGLE_OPEN="#(printf '\uE0B2')" | |
TRIANGLE_CLOSE="#(printf '\uE0B0')" | |
# Uncomment to move statusbar to the top | |
set-option -g status-position top | |
# Basic colors of the Statusbar | |
set-option -g status-style bg=${BG},fg=${FG} | |
# Show the window list centered between the left and the right section | |
set-option -g status-justify centre | |
# Style and set contents on the left section | |
set-option -g status-left "\ | |
#[fg=${LIGHT_GRAY},bg=default]${HALF_ROUND_OPEN}\ | |
#[bg=${LIGHT_GRAY},fg=${YELLOW}]#S \ | |
#[fg=${LIGHT_GRAY},bg=default]${TRIANGLE_CLOSE}\ | |
" | |
# Style and set contents on the right section | |
set-option -g status-right "\ | |
#[fg=${LIGHT_GRAY},bg=default]${TRIANGLE_OPEN}\ | |
#[bg=${LIGHT_GRAY},fg=${CYAN}] #h\ | |
#[fg=${LIGHT_GRAY},bg=default]${HALF_ROUND_CLOSE}\ | |
" | |
# Set max length of left and right section | |
set-option -g status-left-length 100 | |
set-option -g status-right-length 100 | |
# Style and set content for the inactive windows | |
set-option -g window-status-format "\ | |
\ | |
#I\ | |
#[fg=${MAGENTA}]:\ | |
#[fg=default]#W\ | |
\ | |
" | |
# Style and set content for the active windows | |
set-option -g window-status-current-format "\ | |
#[fg=${LIGHT_GRAY},bg=default]${HALF_ROUND_OPEN}\ | |
#[bg=${LIGHT_GRAY},fg=default]#I\ | |
#[fg=${RED}]:\ | |
#[fg=default]#W\ | |
#[fg=${LIGHT_GRAY},bg=default]${HALF_ROUND_CLOSE}\ | |
" | |
# Remove the separator between window list items, as we already have spacing | |
# "around" inactive items | |
set-option -g window-status-separator "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment