Skip to content

Instantly share code, notes, and snippets.

@aaronjensen
Created June 20, 2012 18:19
Show Gist options
  • Save aaronjensen/2961381 to your computer and use it in GitHub Desktop.
Save aaronjensen/2961381 to your computer and use it in GitHub Desktop.
# Options
set -g default-terminal "screen-256color"
set -g base-index 1
set -g pane-base-index 1
set -g set-titles on
set -g status-keys vi
# Faster Command Sequences
set -s escape-time 0
# mouse can be used to select panes
set -g mouse-select-pane on
# mouse can be used to select windows (by clicking in the status bar)
set -g mouse-select-window on
# mouse can be used to resize panes (by dragging dividers)
set -g mouse-resize-pane on
# not really sure what this does, but with it, the scrollwheel works inside Vim
set -g mouse-utf8 on
# enable system copy/paste:
# https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard
set-option -g default-command "reattach-to-user-namespace -l bash"
# Window options
setw -g mode-keys vi # vi key
setw -g utf8 on
setw -g xterm-keys on
setw -g automatic-rename on
setw -g monitor-activity on
setw -g aggressive-resize on
# allow mouse to enter copy mode and initiate selection
setw -g mode-mouse on
# Style
set -g status-bg default
set -g status-fg default
set -g status-left ""
set -g status-right "#[fg=green]#H"
#set -g status-position bottom
set -g pane-active-border-bg default
set -g pane-active-border-fg blue
set -g pane-border-bg default
set -g pane-border-fg white
set -g display-panes-active-colour red
set -g display-panes-colour blue
# Highlight active window
setw -g window-status-current-bg red
setw -g window-status-current-fg default
# remap prefix to Control + a
set -g prefix C-f
unbind C-b
bind C-f send-prefix
# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf
# copy mode
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
# quick pane cycling
unbind ^F
bind ^F select-pane -t :.+
# zoom
unbind ^M
bind ^M new-window -d -n zoom 'tmux-zoom'
# switch panes
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# splits
bind s split-window -v
bind v split-window -h
# resize panes
bind ^L resize-pane -R 5
bind ^J resize-pane -D 5
bind ^K resize-pane -U 5
bind ^H resize-pane -L 5
# Copy/paste to system clipboard
bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
bind C-v run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment