Created
December 25, 2015 08:36
-
-
Save abcarroll/895847c9beabf6bc594a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ~/.tmux.conf | |
########################################################################### | |
# Change prefix from default (C-b) to C-g | |
# C-g doesn't interfere with emacs-style editing keys | |
#unbind -n C-b | |
#unbind -n C-a | |
#set -g prefix C-a | |
# C-g C-g to passthrough a C-g | |
#unbind C-g | |
#bind C-g send-key C-g | |
########################################################################### | |
# General options | |
# Default termtype. If the rcfile sets $TERM, that overrides this value. | |
set -g default-terminal screen-256color | |
# Ring the bell if any background window rang a bell | |
set -g bell-action any | |
# Watch for activity in background windows | |
setw -g monitor-activity on | |
# scrollback size | |
set -g history-limit 10000 | |
# set first window to index 1 (not 0) to map more to the keyboard layout | |
set -g base-index 1 | |
setw -g pane-base-index 1 | |
# pass through xterm keys | |
set -g xterm-keys on | |
########################################################################### | |
# General keymap | |
# Keep your finger on ctrl, or don't, same result | |
bind-key C-d detach-client | |
bind-key C-p paste-buffer | |
# Redraw the client (if interrupted by wall, etc) | |
bind R refresh-client | |
# reload tmux config | |
unbind r | |
bind r \ | |
source-file ~/.tmux.conf \;\ | |
display 'Reloaded tmux config.' | |
# Use emacs keybindings for tmux commandline input. | |
# (Note: if in vi mode, to get command mode you need to hit ESC twice.) | |
set -g status-keys emacs | |
# Use vi keybindings in copy and choice modes | |
setw -g mode-keys vi | |
########################################################################### | |
# Window management / navigation | |
# move between windows | |
bind-key C-h previous-window | |
bind-key C-l next-window | |
# C-\ (no prefix) to skip to last window we were in before this one | |
bind -n "C-\\" last-window | |
# C-Space (no prefix) to tab to next window | |
bind -n C-Space next-window | |
########################################################################### | |
# Pane management / navigation | |
# Horizontal splits with s or C-s | |
unbind s | |
unbind C-s | |
bind-key s split-window | |
bind-key C-s split-window | |
# Vertical split with v or C-v | |
unbind v | |
unbind C-v | |
bind-key v split-window -h | |
bind-key C-v split-window -h | |
# navigation with C-{h,j,k,l} -- NO PREFIX | |
# https://gist.github.com/mislav/5189704 | |
bind -n C-k run-shell 'tmux-vim-select-pane -U' | |
bind -n C-j run-shell 'tmux-vim-select-pane -D' | |
bind -n C-h run-shell 'tmux-vim-select-pane -L' | |
bind -n C-l run-shell 'tmux-vim-select-pane -R' | |
# C-g C-k to passthrough a C-k | |
# C-k is consumed for pane navigation but we want it for kill-to-eol | |
unbind C-k | |
bind C-k send-key C-k | |
# Pane resize in all four directions using vi bindings. | |
# Can use these raw but I map them to Cmd-Opt-<h,j,k,l> in iTerm2. | |
# http://tangledhelix.com/blog/2012/04/28/iterm2-keymaps-for-tmux/ | |
# Note on a few prefix options: C-a = 0x01, C-b = 0x02, C-g = 0x06 | |
bind-key J resize-pane -D | |
bind-key K resize-pane -U | |
bind-key H resize-pane -L | |
bind-key L resize-pane -R | |
# easily toggle synchronization (mnemonic: e is for echo) | |
# sends input to all panes in a given window. | |
bind e setw synchronize-panes on | |
bind E setw synchronize-panes off | |
########################################################################### | |
# Scrollback / pastebuffer | |
# Vim-style copy/paste | |
unbind [ | |
bind y copy-mode | |
unbind p | |
bind p paste-buffer | |
bind -t vi-copy v begin-selection | |
bind -t vi-copy y copy-selection | |
bind -t vi-copy Escape cancel | |
########################################################################### | |
# Mouse mode | |
set -g mode-mouse on | |
set -g mouse-resize-pane on | |
set -g mouse-select-pane on | |
set -g mouse-select-window on | |
# Toggle mouse on | |
bind m \ | |
set -g mode-mouse on \;\ | |
set -g mouse-resize-pane on \;\ | |
set -g mouse-select-pane on \;\ | |
set -g mouse-select-window on \;\ | |
display 'Mouse: ON' | |
# Toggle mouse off | |
bind M \ | |
set -g mode-mouse off \;\ | |
set -g mouse-resize-pane off \;\ | |
set -g mouse-select-pane off \;\ | |
set -g mouse-select-window off \;\ | |
display 'Mouse: OFF' | |
########################################################################### | |
# Color scheme (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 | |
## | |
### active window title colors | |
##set-window-option -g window-status-current-fg colour196 #orange | |
##set-window-option -g window-status-current-bg default | |
## | |
### pane border | |
##set-option -g pane-active-border-fg black | |
##set-option -g pane-active-border-bg white | |
##set-option -g pane-border-fg brightcyan | |
##set-option -g pane-border-bg default | |
## | |
### 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 | |
########################################################################### | |
# Color scheme (Solarized Dark) | |
### default statusbar colors | |
##set-option -g status-bg brightgreen | |
##set-option -g status-fg white | |
##set-option -g status-attr default | |
## | |
### default window title colors | |
##set-window-option -g window-status-fg brightcyan | |
##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 white | |
##set-window-option -g window-status-current-bg blue | |
###set-window-option -g window-status-current-attr bright | |
## | |
### pane border | |
##set-option -g pane-border-fg brightgreen | |
##set-option -g pane-active-border-fg red | |
## | |
### message text | |
##set-option -g message-bg black | |
##set-option -g message-fg red | |
## | |
### pane number display | |
##set-option -g display-panes-active-colour red | |
##set-option -g display-panes-colour white | |
## | |
### clock | |
##set-window-option -g clock-mode-colour cyan | |
########################################################################### | |
# Color scheme (Tango Dark) | |
## default statusbar colors | |
#set-option -g status-bg blue | |
#set-option -g status-fg white | |
# | |
## active window title colors | |
#set-window-option -g window-status-current-fg yellow | |
#set-window-option -g window-status-current-bg black | |
# | |
## pane border | |
#set-option -g pane-border-fg blue | |
#set-option -g pane-active-border-fg red | |
# | |
## pane number display | |
#set-option -g display-panes-active-colour red | |
#set-option -g display-panes-colour blue | |
########################################################################### | |
# Color scheme (Cobalt) | |
# default statusbar colors | |
set-option -g status-fg white | |
set-option -g status-bg cyan | |
# active window title colors | |
set-window-option -g window-status-current-fg red | |
set-window-option -g window-status-current-bg yellow | |
# pane border | |
set-option -g pane-border-fg cyan | |
set-option -g pane-active-border-fg red | |
# pane number display | |
set-option -g display-panes-active-colour red | |
set-option -g display-panes-colour cyan | |
########################################################################### |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment