Skip to content

Instantly share code, notes, and snippets.

@tbnorth
Last active March 7, 2024 22:26
Show Gist options
  • Save tbnorth/0078a0fd8896c5d323b42b85b6166a41 to your computer and use it in GitHub Desktop.
Save tbnorth/0078a0fd8896c5d323b42b85b6166a41 to your computer and use it in GitHub Desktop.
# TNB mods
# bind -n == bind -T root == no prefix
set -g lock-after-time 0 # Seconds; 0 = never
bind -n C-Left select-window -p
bind -n C-Right select-window -n
bind -n M-S-Left swap-window -t -1
bind -n M-S-Right swap-window -t +1
bind C-a select-window -l
bind a send-prefix
set-window-option -g mode-keys vi # adds -vi to copy-mode references
bind PageUp copy-mode
# bind -T copy-mode Space start-selection
# to use tree view to make something a pane in this window
bind C-p choose-tree "join-pane -t '%%'"
# and break-pane to move pane to new window
# https://hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
# bind-key C-a send-prefix
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf
# 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
# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on
bind -n MouseDown3Pane paste-buffer
# don't rename windows automatically
# set-option -g allow-rename off
# DESIGN TWEAKS
# don't do anything when a 'bell' rings
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
set -g monitor-activity off
set -g bell-action none
# clock mode
setw -g clock-mode-colour colour1
# copy mode
setw -g mode-style 'fg=colour1 bg=colour18 bold'
# pane borders
set -g pane-border-style 'fg=colour1'
set -g pane-active-border-style 'fg=colour3'
# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style 'fg=colour1'
set -g status-left ''
set -g status-right '%Y-%m-%d %H:%M '
set -g status-right-length 50
set -g status-left-length 10
setw -g window-status-current-style 'fg=colour11 bright bold'
setw -g window-status-current-format ' #I #W #F '
setw -g window-status-style 'fg=colour1 dim'
setw -g window-status-format ' #I #[fg=colour7]#W #[fg=colour1]#F '
setw -g window-status-bell-style 'fg=colour2 bg=colour1 bold'
# messages
set -g message-style 'fg=colour2 bg=colour0 bold'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment