Skip to content

Instantly share code, notes, and snippets.

@aelesbao
Created April 17, 2013 14:54
Show Gist options
  • Save aelesbao/5404961 to your computer and use it in GitHub Desktop.
Save aelesbao/5404961 to your computer and use it in GitHub Desktop.
# sets the correct term
set -g default-terminal "screen-256color"
# allow xterm titles in terminal window and terminal scrolling with scrollbar
set -g terminal-overrides "screen*:XT:smcup@:rmcup@"
# automatically set window title
setw -g automatic-rename on
setw -g allow-rename off
# terminal emulator window titles
set -g set-titles on
set -g set-titles-string "#S:#I.#P #W"
# increase scrollback history size
set -g history-limit 16384
# enable mouse support
setw -g mode-mouse on
setw -g mouse-resize-pane on
set -g mouse-select-window on
set -g mouse-select-pane on
# disable the destruction of unattached sessions globally
set -g destroy-unattached off
setw -g mode-keys vi # use vi motion keys while in copy mode
set -g status-keys vi # use vi style in the status line
# generate xterm(1) -style function key sequences; these have a number included
# to indicate modifiers such as Shift, Alt or Ctrl.
#set -g xterm-keys on
# notifications
setw -g monitor-activity on
setw -g visual-activity on
# start window numbering at 1
set -g base-index 1
# automatically renumber the other windows in numerical order
set -g renumber-windows on
# faster command sequences
set -s escape-time 0
# aggressive resize
setw -g aggressive-resize on
# remap prefix to Control + a
unbind C-b
set -g prefix C-a
# make ^a work like it does it screen
# so that ^aa sends a literal ^a
unbind l
bind C-a last-window
bind a send-key C-a
bind -n C-PageUp previous-window
bind -n C-PageDown next-window
# panes navigation
#bind -n C-Tab select-pane -t :.+
#bind -n C-BTab select-pane -t :.-
# quick command-prompt
bind -n C-Space command-prompt
# scrollback and history cleanup
bind -n C-k clear-history
# remap pane split
unbind %
unbind '"'
bind _ split-window -v
bind | split-window -h
# use the vim motion keys to move between panes
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# use the vim resize keys.
# the number at the end is how much the pane will be resized,
# and 1 is fairly small.
bind < resize-pane -L 1
bind > resize-pane -R 1
bind - resize-pane -D 1
bind + resize-pane -U 1
# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
# open man page with /
bind / command-prompt -p "man" "split-window -h 'exec man %%'"
# CLIPBOARD selection integration
# Requires prefix key before the command key
# copy tmux paste buffer to CLIPBOARD
bind C-c run "tmux save-buffer - | xclip -i -selection clipboard"
# copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer
bind C-v run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"
# tmux-powerline
set-option -g status on
set-option -g status-interval 2
set-option -g status-utf8 on
set-option -g status-justify "centre"
set-option -g status-left-length 90
set-option -g status-right-length 60
set-option -g status-left "#(~/.tmux/tmux-powerline/powerline.sh left)"
set-option -g status-right "#(~/.tmux/tmux-powerline/powerline.sh right)"
#### COLOUR (Solarized 256)
# default statusbar colors
set-option -g status-fg colour136 #yellow
set-option -g status-bg colour235 #base02
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg colour244
set-window-option -g window-status-bg colour237
set-window-option -g window-status-attr default
set-window-option -g window-status-format "#[fg=colour235]#[fg=default] #I #[fg=colour235]#[fg=default] #W #[fg=colour237, bg=colour235]"
# active window title colors
set-window-option -g window-status-current-fg colour250
set-window-option -g window-status-current-bg colour239
set-window-option -g window-status-current-attr default
set-window-option -g window-status-current-format "#[fg=colour235]#[fg=default] #I #[fg=colour235]#[fg=default] #W #[fg=colour239, bg=colour235]"
# activity window title colors
set-window-option -g window-status-activity-fg colour137
set-window-option -g window-status-activity-bg default
set-window-option -g window-status-activity-attr default
# content window title colors
set-window-option -g window-status-content-fg colour166
set-window-option -g window-status-content-bg default
set-window-option -g window-status-content-attr default
# bell window title colors
set-window-option -g window-status-bell-fg colour33
set-window-option -g window-status-bell-bg default
set-window-option -g window-status-bell-attr default
set-window-option -g window-status-separator ""
# pane border
set-option -g pane-border-fg colour235 #base02
set-option -g pane-active-border-fg colour240 #base01
# message text
set-option -g message-bg colour235 #base02
set-option -g message-fg colour166 #orange
# pane number display
set-option -g display-panes-active-colour colour33 #blue
set-option -g display-panes-colour colour166 #orange
# clock
set-window-option -g clock-mode-colour colour64 #green
set-window-option -g clock-mode-style 24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment