Skip to content

Instantly share code, notes, and snippets.

@josemarcosrf
Last active March 24, 2025 23:17
Show Gist options
  • Save josemarcosrf/ab77493357c101a4d6eec916e78f7db5 to your computer and use it in GitHub Desktop.
Save josemarcosrf/ab77493357c101a4d6eec916e78f7db5 to your computer and use it in GitHub Desktop.
Tmux configuration
# increase history limit to 90K lines
set-option -g history-limit 90000
# Enable mouse mode
set -g mouse on
# remap keys for copy-mode
# bind -t vi-copy y copy-pipe "xclip -sel clip -i"
setw -g mode-keys vi
# make scape the key for copy-mode
unbind [
bind Escape copy-mode
unbind p
# copy key shortcuts
bind p paste-buffer
# bind-key -t vi-copy 'v' begin-selection
# bind-key -t vi-copy 'y' copy-selection
# bind-key -T copy-mode-vi v send-keys -X begin-selection
# bind-key -T copy-mode-vi y send-keys -X copy-selection
# bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# 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
# status bar more informative
# {?client_prefix,#[fg=colour2]^A,}
set -g status-left "#{?client_prefix,#[bg=colour2],#[bg=colour1]}#[fg=colour0] #S "
######################
### 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-bg default
set -g status-fg colour12
set -g status-interval 2
# messaging
set -g message-style fg=black,bg=yellow
set -g message-command-style fg=blue,bg=black
# window mode
setw -g mode-style bg=colour6,fg=colour0
# window status
setw -g window-status-current-style bg=colour0,fg=colour11,dim
setw -g window-status-style bg=green,reverse
# Info on left (I don't have a session display for now)
set -g status-left ''
# 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"
setw -g clock-mode-colour colour135
set -g message-style bold,fg=colour232,bg=colour166
# bind to be able to copy into clipboard
#bind -T copy-mode-vi k send-keys -X copy-pipe 'xclip -in -selection clipboard'
# pluggins
#set -g @plugin 'tmux-plugins/tmux-resurrect'
@josemarcosrf
Copy link
Author

NOTE: When using tmux activating conda environments can break. The following can help fixing that.

Add to ~/.bashrc:

[[ -z $TMUX ]] || conda deactivate; conda activate base

@josemarcosrf
Copy link
Author

Minimum set of options to not hate your life while using tmux:

# increase history limit to 90K lines
set-option -g history-limit 90000

# Enable mouse mode
set -g mouse on

# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

# 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment