Skip to content

Instantly share code, notes, and snippets.

@b9AcE
Last active October 13, 2017 07:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save b9AcE/2a24fc4991a0431f022a61a415a9cbef to your computer and use it in GitHub Desktop.
Save b9AcE/2a24fc4991a0431f022a61a415a9cbef to your computer and use it in GitHub Desktop.
My tmux configuration. Very simple.
#
# "/etc/tmux.conf" or "~/.tmux.conf"
#
# Revision 20171013-01
#
# Configures the terminal multiplexer tmux(1), which behaves similar to the older screen(1).
# This configuation is intended to provide a basic, sane default, without fancy features.
#
# Change the prefix key to <control>+a instead, because it is easier to press and is the default of screen(1) so no reason to use <control>+b, the default of tmux(1).
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Set terminfo title string, so it provides brief info in e.g. xterm window-decorations.
set -g set-titles on
set -g set-titles-string "#T"
# Recent tmux has UTF-8 on by default, so these are now commented out as those versions throw error messages otherwise.
# Uncomment the next two lines to enable UTF-8 on tmux versions that do not behave as described above.
#set -g utf8 on
#set -g status-utf8 on
# Address vim mode switching delay (http://superuser.com/a/252717/65504).
set -s escape-time 0
# Increase scrollback buffer size, because the memory cost is negigable on modern systems while too low a value can be a real obstacle.
set -g history-limit 50000
# Make tmux(1) message display for 4 seconds.
set -g display-time 4000
# Refresh 'status-left' and 'status-right' more often.
set -g status-interval 5
# Set $TERM to a value indicating full textmode color capability, because tmux(1) has this capability and all modern displays/terminal emulators do too.
set -g default-terminal "screen-256color"
# EMACS key bindings in tmux command prompt (prefix + :) are better than vi keys, even for vim users.
set -g status-keys emacs
# Focus events enabled for terminals that support them, because if focus is requested, it was presumably for a good reason.
set -g focus-events on
# Aggressively resizing enables multi-session (e.g. multi-user) usage, while there is no real downside if it is not actively used.
setw -g aggressive-resize on
# Easier window-switching.
bind C-p previous-window
bind C-n next-window
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment