Skip to content

Instantly share code, notes, and snippets.

@dbeckham
Last active October 30, 2022 08:23
Show Gist options
  • Save dbeckham/655da225f1243b2db5da to your computer and use it in GitHub Desktop.
Save dbeckham/655da225f1243b2db5da to your computer and use it in GitHub Desktop.
A simple tmux configuration file for remote servers.
#
# Custom tmux commands for remote servers
#
# Copy this to ~/.tmux.conf to enable
#
# Make splitting and resizing panes, and moving around emulate the vim
# directional keys
bind | split-window -h
bind _ split-window -v
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Remove the escape key delay. This will speed up vim interaction in most
# cases.
set -sg escape-time 0
# The default history size is always too small.
set -g history-limit 100000
# For easy reload of the tmux config
bind-key r source-file ~/.tmux.conf
#
# Colors and status line adapted from:
# http://zanshin.net/2013/09/05/my-tmux-configuration/
#
# Remove or comment out everything below this line for stock colors and status
# bar layout.
#
set -g utf8
set-window-option -g utf8 on
# make tmux display things in 256 colors
set -g default-terminal "screen-256color"
# ----------------------
# set some pretty colors
# ----------------------
# set pane colors - hilight the active pane
#set-option -g pane-border-fg colour235 #base02
#set-option -g pane-active-border-fg colour240 #base01
# colorize messages in the command line
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange
# ----------------------
# Status Bar
# -----------------------
set-option -g status on # turn the status bar on
set -g status-utf8 on # set utf-8 for the status bar
set -g status-interval 5 # set update frequencey (default 15 seconds)
set -g status-justify centre # center window list for clarity
# set-option -g status-position top # position the status bar at top of screen
# visual notification of activity in other windows
setw -g monitor-activity on
set -g visual-activity on
# set color for status bar
set-option -g status-bg colour235 #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr dim
# set window list colors - red for active and cyan for inactive
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg colour236
set-window-option -g window-status-attr dim
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg colour236
set-window-option -g window-status-current-attr bright
# show host name and IP address on left side of status bar
set -g status-left-length 70
set -g status-left "#[fg=yellow]Remote #[fg=green]#h : #[fg=brightblue]#(ip addr show dev eth0 | grep "inet[^6]" | awk '{print $2}')"
# show session name, window & pane number, date and time on right side of
# status bar
set -g status-right-length 60
set -g status-right "#[fg=blue]#S #I:#P #[fg=green]%k:%M:%S (#(date -u | awk '{print $4}') UTC)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment