Skip to content

Instantly share code, notes, and snippets.

@leehambley
Created May 23, 2013 08:39
Show Gist options
  • Save leehambley/5633552 to your computer and use it in GitHub Desktop.
Save leehambley/5633552 to your computer and use it in GitHub Desktop.
# General settings
unbind C-b
set -g prefix C-a
set -g default-terminal "screen-256color"
set -sg escape-time 1
setw -g automatic-rename off
# Base index 1
set -g base-index 1
set-window-option -g pane-base-index 1
# Custom shortcuts
bind C-a send-prefix
bind C-z resize-pane -Z
bind z last-window
bind r source-file ~/.tmux.conf \; display "Reloaded tmux config."
# Status bar
# source '/Users/ralph/Documents/work/powerline/powerline/bindings/tmux/powerline.conf'
set -g status on
set -g status-utf8 on
set -g status-interval 2
set -g status-fg colour231
set -g status-bg colour234
set -g status-left-length 20
set -g status-left '#[fg=colour16,bg=colour254,bold] #S #[fg=colour254,bg=colour234,nobold]#(powerline tmux left)'
set -g status-right '#(powerline tmux right)'
set -g status-right-length 150
set -g window-status-format "#[fg=colour244,bg=colour234]#I #[fg=colour240,bg=colour234] #[fg=colour249]#W "
set -g window-status-current-format "#[fg=colour234,bg=colour31]#[fg=colour117,bg=colour31] #I  #[fg=colour231,bold]#W #[fg=colour31,bg=colour234,nobold]"
set -g status-right '%H:%M'
# set -g status-utf8 on
# set -g status-fg white
# set -g status-bg black
# setw -g window-status-fg cyan
# setw -g window-status-bg default
# setw -g window-status-attr dim
# setw -g window-status-current-fg white
# setw -g window-status-current-bg red
# setw -g window-status-current-attr bright
# setw -g window-status-current-format " #[fg=bold,reverse]#I.#W #[default]"
# set -g status-left-length 40
# set -g status-right '#S:#I.#P, #W %H:%M'
# command prompt
set -g message-fg white
set -g message-bg black
set -g message-attr bright
# Maximize and restore a pane
# unbind Up
# bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
# unbind Down
# bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp
# Close other pane
bind C-x kill-pane -a
# Mouse support
setw -g mode-mouse off
# set -g mode-mouse on
# set -g mouse-select-window on
# set -g mouse-select-pane on
# set -g mouse-resize-pane on
# set -g mouse-utf8 on
# Copy and paste from/to Mac OSX clipboard
set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/zsh"
set-option -g set-clipboard on
# bind C-y run-shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'"
bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy" \; display "Copied buffer to OSX clipboard."
bind C-v run "tmux set-buffer $(reattach-to-user-namespace pbpaste); tmux paste-buffer"
# Copy / paste
unbind [
bind Escape copy-mode
unbind ]
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
# $Id: vim-keys.conf,v 1.2 2010/09/18 09:36:15 nicm Exp $
#
# vim-keys.conf, v1.2 2010/09/12
#
# By Daniel Thau. Public domain.
#
# This configuration file binds many vi- and vim-like bindings to the
# appropriate tmux key bindings. Note that for many key bindings there is no
# tmux analogue. This is intended for tmux 1.3, which handles pane selection
# differently from the previous versions
# split windows like vim
# vim's definition of a horizontal/vertical split is reversed from tmux's
bind | split-window -h
bind - split-window -v
# bind s split-window -v
# bind v split-window -h
# cycle through windows
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# move around panes with hjkl, as one would in vim after pressing ctrl-w
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# resize panes like vim
# feel free to change the "1" to however many lines you want to resize by, only
# one at a time can be slow
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
# bind < resize-pane -L 1
# bind > resize-pane -R 1
# bind - resize-pane -D 1
# bind + resize-pane -U 1
set -g pane-border-fg green
set -g pane-border-bg black
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
# pane movement
# bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
# bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
# bind : to command-prompt like vim
# this is the default in tmux already
bind : command-prompt
# vi-style controls for copy mode
setw -g mode-keys vi
# https://raw.github.com/seebi/tmux-colors-solarized/master/tmuxcolors-256.conf
#### COLOUR (Solarized 256)
# default statusbar colors
set-option -g status-bg colour235 #base02
set-option -g status-fg colour136 #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg colour244 #base0
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 colour166 #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 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment