Skip to content

Instantly share code, notes, and snippets.

@qykong
Last active April 29, 2017 10:40
Show Gist options
  • Save qykong/017948a7265c53e57034eeaeb73906df to your computer and use it in GitHub Desktop.
Save qykong/017948a7265c53e57034eeaeb73906df to your computer and use it in GitHub Desktop.
### General
###########################################################################
# Scrollback/History limit
set -g history-limit 2048
# Index Start
set -g base-index 1
# Mouse
set -g mouse off
# Force reload of config file
unbind r
bind r source-file ~/.tmux.conf
### Keybinds
###########################################################################
# Unbind C-b as the default prefix
unbind C-b
# Set new default prefix
set-option -g prefix `
bind ` send-prefix
# Return to previous window when prefix is pressed twice
bind C-a last-window
# Allow swapping C-a and ` using F11/F12
bind F11 set-option -g prefix C-a
bind F12 set-option -g prefix `
# Keybind preference
setw -g mode-keys vi
set-option -g status-keys vi
# Moving between panes with vim movement keys
bind h select-pane -L
bind H resize-pane -L 10
bind j select-pane -D
bind J resize-pane -D 10
bind k select-pane -U
bind K resize-pane -U 10
bind l select-pane -R
bind L resize-pane -R 10
# Window Cycle/Swap
bind e previous-window
bind f next-window
bind E swap-window -t -1
bind F swap-window -t +1
# Easy split pane commands
bind = split-window -h
bind + split-window -h -c '#{pane_current_path}'
bind - split-window -v
bind _ split-window -v -c '#{pane_current_path}'
unbind '"'
unbind %
# Activate inner-most session (when nesting tmux) to send commands
bind a send-prefix
# Copy mode
unbind p
bind p paste-buffer
### Theme
###########################################################################
# Statusbar Color Palatte
set-option -g status-justify left
set-option -g status-bg black
set-option -g status-fg white
set-option -g status-left-length 40
set-option -g status-right-length 80
# Pane Border Color Palette
set-option -g pane-active-border-fg green
set-option -g pane-active-border-bg black
set-option -g pane-border-fg white
set-option -g pane-border-bg black
# Message Color Palette
set-option -g message-fg black
set-option -g message-bg green
# Window Status Color Palette
setw -g window-status-bg black
setw -g window-status-current-fg green
setw -g window-status-bell-attr default
setw -g window-status-bell-fg red
setw -g window-status-activity-attr default
setw -g window-status-activity-fg yellow
### UI
###########################################################################
# Notification
setw -g monitor-activity on
set -g visual-activity on
set-option -g bell-action any
set-option -g visual-bell off
# Automatically set window titles
set-option -g set-titles on
set-option -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name,active (or not)
# Statusbar Adjustments
set -g status-left "#[fg=white] #H#[fg=green]:#[fg=white]#S#[fg=green] |#[default]"
# Show performance counters in statusbar
# Requires https://github.com/thewtex/tmux-mem-cpu-load/
set -g status-interval 4
set -g status-right "#[fg=green] | #[fg=white]#(tmux-mem-cpu-load)#[fg=green] | #[fg=cyan]%H:%M #[default]"
set -g status-bg blue
set -g status-fg white
set -g default-command "reattach-to-user-namespace -l $SHELL"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment