Skip to content

Instantly share code, notes, and snippets.

@jkroepke
Last active March 30, 2023 09:39
Show Gist options
  • Save jkroepke/e747d384c7646eb0aed637831e99aefb to your computer and use it in GitHub Desktop.
Save jkroepke/e747d384c7646eb0aed637831e99aefb to your computer and use it in GitHub Desktop.
my personal tmux.conf
# change the prefix from 'C-b' to 'C-a'
# (remap capslock to CTRL for easy access)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# SSH Environment
set -g update-environment "DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINXX"
setenv -g SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock
set -g set-titles on
set -g set-titles-string "#T"
set-window-option -g pane-base-index 1
# Reload config
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
bind-key C-a last-window
# switch panes using Alt-arrow 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
# pass through xterm keys
set -g xterm-keys on
bind -n M-Left previous-window
bind -n M-Right next-window
# split panes using | and -
bind-key v split-window -h
bind-key b split-window -v
unbind '"'
unbind %
# don't rename windows automatically
set-option -g allow-rename off
# Start numbering at 1
set -g base-index 1
# Allows for faster key repetition
set -sg escape-time 1
# 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
# Activity monitoring
setw -g monitor-activity on
set -g visual-activity on
bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"
# color
set -g default-terminal "screen-256color"
# status bar
set-option -g history-limit 20000
######################
### DESIGN CHANGES ###
######################
# panes
set -g pane-border-style fg=black
set -g pane-active-border-style fg=brightred
## Status bar design
# status line
set -g status-justify left
set -g status-interval 2
# messaging
set -g message-command-style fg=blue,bg=black
# loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
set -g default-terminal "screen-256color"
# The modes {
setw -g clock-mode-colour colour135
setw -g mode-style fg=colour196,bg=colour238,bold
# }
# The panes {
set -g pane-border-style bg=colour235,fg=colour238
set -g pane-active-border-style bg=colour236,fg=colour51
# }
# The statusbar {
set -g status-position bottom
set -g status-style bg=colour234,fg=colour137,dim
set -g status-left ''
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S '
set -g status-right-length 50
set -g status-left-length 20
setw -g window-status-current-style fg=colour81,bg=colour238,bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F '
setw -g window-status-style fg=colour138,bg=colour235,none
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '
setw -g window-status-bell-style fg=colour255,bg=colour1,bold
# }
# The messages {
set -g message-style fg=colour232,bg=colour166,bold
# }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment