Skip to content

Instantly share code, notes, and snippets.

@rreas
Created December 13, 2014 21:16
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 rreas/328013ae9ff3ba0e6266 to your computer and use it in GitHub Desktop.
Save rreas/328013ae9ff3ba0e6266 to your computer and use it in GitHub Desktop.
tmux.conf
###########################
# Configuration
###########################
# use 256 term for pretty colors
set -g default-terminal "screen-256color"
# default command - use zsh shell
set-option -g default-command "reattach-to-user-namespace -l zsh"
# increase scroll-back history
set -g history-limit 10000
# use vim key bindings
setw -g mode-keys vi
# decrease command delay (increases vim responsiveness)
set -sg escape-time 1
# increase repeat time for repeatable commands
set -g repeat-time 200
# start window index at 1
set -g base-index 1
# start pane index at 1
setw -g pane-base-index 1
# do not highlight window when it has new activity
setw -g monitor-activity off
set -g visual-activity off
# re-number windows when one is closed
set -g renumber-windows on
# allow renaming and don't change when running a process
set-option -g allow-rename off
# enable pbcopy and pbpaste
# https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/blob/master/README.md
###########################
# Key Bindings
###########################
# tmux prefix
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# copy with 'enter' or 'y' and send to mac os clipboard: http://goo.gl/2Bfn8
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
# create 'v' alias for selecting text
bind-key -t vi-copy v begin-selection
# paste
unbind C-p
bind C-p paste-buffer
# window splitting
bind | split-window -h
bind - split-window -v
# resize panes
bind -r h select-pane -L
bind -r j select-pane -D
bind -r k select-pane -U
bind -r 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
# select window
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
###########################
# Status Bar
###########################
# enable UTF-8 support in status bar
set -g status-utf8 on
# set refresh interval for status bar
set -g status-interval 30
# center the status bar
set -g status-justify left
# show status
set -g status-left "[#S-#P]"
set -g status-right "[%b %d (%a) %R]"
set -g status-interval 60
set -g status-left-length 40
set -g status-right-length 100
# show hostname, date, time, and battery in right status bar
set-option -g status-right '%m/%d/%y %I:%M'
#[fg=red]#(battery discharging)#[default]#(battery charging)'
###########################
# Mouse
###########################
setw -g mode-mouse off
#### COLOUR (Solarized light)
# default statusbar colors
set-option -g status-bg colour231 #base2
set-option -g status-fg colour130 #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg colour180 #base00
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg colour196 #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg colour231 #base2
set-option -g pane-active-border-fg colour051 #base1
# message text
set-option -g message-bg colour231 #base2
set-option -g message-fg colour196 #orange
# pane number display
set-option -g display-panes-active-colour colour20 #blue
set-option -g display-panes-colour colour196 #orange
# clock
set-window-option -g clock-mode-colour colour40 #green
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment