Skip to content

Instantly share code, notes, and snippets.

@bcatubig
Last active April 28, 2025 22:04
Show Gist options
  • Save bcatubig/e9024c5211a1738dc81d0467dce34066 to your computer and use it in GitHub Desktop.
Save bcatubig/e9024c5211a1738dc81d0467dce34066 to your computer and use it in GitHub Desktop.
tmux config
# Fix Colors
set -g default-terminal "screen-256color"
set -as terminal-features ",xterm-256color:RGB"
# easy reload config
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded."
# set window split
bind-key v split-window -h
bind-key b split-window
# C-b is not acceptable -- Vim uses it
unbind-key C-b
set-option -g prefix C-a
bind-key C-a last-window
bind C new-window
bind c new-window -c "#{pane_current_path}"
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
# Rather than constraining window size to the maximum size of any client
# connected to the *session*, constrain window size to the maximum size of any
# client connected to *that window*. Much more reasonable.
setw -g aggressive-resize on
# Allows us to use C-a a <command> to send commands to a TMUX session inside
# another TMUX session
bind-key a send-prefix
# Activity monitoring
setw -g monitor-activity off
set -g visual-activity off
setw -g mode-keys vi
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi V send -X select-line
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'pbcopy'
# hjkl pane traversal
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Scrolling
setw -g mouse on
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
# Renumber windows
set-option -g renumber-windows on
# Statusline Colors
set -g status-style bg=terminal,fg=terminal
# Statusline location
set -g status-position bottom
# Current window name bold
set -g window-status-current-style fg=terminal,bold
# Time settings
set -g status-right "%I:%M %p, %d-%b-%y, %a"
# Increase left length
set -g status-left-length 20
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin '[email protected]:user/plugin'
# set -g @plugin '[email protected]:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment