Skip to content

Instantly share code, notes, and snippets.

@auna93
Forked from xinshuoweng/.tmux.conf
Last active November 8, 2024 00:46
Show Gist options
  • Save auna93/3bfc4ca841e6f007af7890ae375ec2e3 to your computer and use it in GitHub Desktop.
Save auna93/3bfc4ca841e6f007af7890ae375ec2e3 to your computer and use it in GitHub Desktop.
A vim-friendly tmux config
# change prefix to Ctrl-a (like in gnu-screen)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# start with window 1 (instead of 0)
set -g base-index 1
# start with pane 1
set -g pane-base-index 1
# screen mode
set -g default-terminal "screen-256color"
# source config file
bind r source-file ~/.tmux.conf
# history
set -g history-limit 4096
# allow terminal scrolling
set-option -g terminal-overrides 'xterm*:smcup@:rmcup@'
# use vi mode
setw -g mode-keys vi
set -g status-keys vi
# easy-to-remember split pane commands
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# Enable mouse control
set -g mouse on
# colon :
bind : command-prompt
# moving between panes with vim movement keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# resize the pane
bind-key -r J resize-pane -D 3
bind-key -r K resize-pane -U 3
bind-key -r H resize-pane -L 3
bind-key -r L resize-pane -R 3
# status line
set -g status-justify left
set -g status-style bg=default,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-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W "
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W "
setw -g window-status-style fg=black,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
# tmux clock
set -g clock-mode-colour blue
# some key-binding changes
bind x kill-pane
bind X next-layout
bind Z previous-layout
# window switching
bind -n S-down new-window
bind -n S-left prev
bind -n S-right next
bind -n C-left swap-window -t -1
bind -n C-right swap-window -t +1
# The modes
setw -g clock-mode-colour colour135
setw -g mode-style fg=colour196,bg=colour238,bold
# The panes
set -g pane-border-style fg=colour238,bg=colour235
set -g pane-active-border-style fg=colour51,bg=colour236
# 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-style fg=colour138,bg=colour235,none
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