Last active
December 16, 2017 07:21
-
-
Save starwing/e13a7e63dba35654d00cac5c5337e1c7 to your computer and use it in GitHub Desktop.
My tmux configure file
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
# vim: nu et fdc=2 fdm=marker fmr={,} | |
# General { | |
# set prefix | |
set -g prefix "`" | |
unbind C-b | |
bind C-a last-window | |
bind "`" last-window | |
bind F11 set -g prefix C-a | |
bind F12 set -g prefix "`" | |
# Activate inner-most session (when nesting tmux) to send commands | |
bind a send-prefix | |
# don't rename windows automatically | |
set -g allow-rename off | |
# Scrollback/History limit | |
set -g history-limit 10000 | |
# Allow xterm titles in terminal window, terminal scrolling with | |
# scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right | |
#set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC" | |
# Set ability to capture on start and restore on exit window data when | |
# runing an application | |
setw -g alternate-screen on | |
# Lower escape-timing from 500ms to 50ms for quicker response to | |
# scroll-buffer access | |
set -s escape-time 50 | |
# Index Start | |
set -g base-index 1 | |
# split panes using | and - | |
bind | split-window -h | |
bind - split-window -v | |
unbind '"' | |
unbind % | |
# reload config file (change file location to your the tmux.conf you want to use) | |
bind r source-file ~/.tmux.conf | |
# } | |
# vi mode { | |
# Use Vi mode | |
setw -g mode-keys vi | |
set -g status-keys vi | |
# vi like copying | |
bind -T copy-mode-vi v send-keys -X begin-selection | |
#bind -T copy-mode-vi y send-keys -X copy-pipe "$XCLIP" | |
#bind -T copy-mode-vi y send-keys -X copy-selection | |
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" | |
bind -T copy-mode-vi Y send-keys -X copy-end-of-line | |
# use p to paste | |
unbind p | |
bind p paste-buffer | |
# switch panes using Alt-arrow without prefix | |
bind h select-pane -L | |
bind j select-pane -D | |
bind k select-pane -U | |
bind l select-pane -R | |
# Window Cycle/Swap | |
bind e previous-window | |
bind f next-window | |
bind E swap-window -t -1 | |
bind F swap-window -t +1 | |
# Smart pane switching with awareness of Vim splits. | |
# See: https://github.com/christoomey/vim-tmux-navigator | |
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ | |
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" | |
bind -n M-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" | |
bind -n M-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" | |
bind -n M-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" | |
bind -n M-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" | |
bind -n M-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" | |
# } | |
# mouse mode { | |
# mouse mode before tmux 2.1 | |
## Enable mouse control (clickable windows, panes, resizable panes) | |
#set -g mouse-select-window on | |
#set -g mouse-select-pane on | |
#set -g mouse-resize-pane on | |
# Enable mouse mode (tmux 2.1 and above) | |
set -g mouse on | |
# } | |
###################### | |
### DESIGN CHANGES ### | |
###################### | |
# panes | |
set -g pane-border-fg black | |
set -g pane-active-border-fg brightred | |
## Status bar design | |
# status line | |
#set -g status-utf8 on | |
set -g status-justify left | |
set -g status-bg default | |
set -g status-fg colour12 | |
set -g status-interval 2 | |
# messaging | |
set -g message-fg black | |
set -g message-bg yellow | |
set -g message-command-fg blue | |
set -g message-command-bg black | |
#window mode | |
setw -g mode-bg colour6 | |
setw -g mode-fg colour0 | |
# window status | |
setw -g window-status-format " #F#I:#W#F " | |
setw -g window-status-current-format " #F#I:#W#F " | |
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W " | |
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W " | |
setw -g window-status-current-bg colour0 | |
setw -g window-status-current-fg colour11 | |
setw -g window-status-current-attr dim | |
setw -g window-status-bg green | |
setw -g window-status-fg black | |
setw -g window-status-attr reverse | |
# Info on left (I don't have a session display for now) | |
set -g status-left '' | |
# loud or quiet? | |
set -g visual-activity off | |
set -g visual-bell off | |
set -g visual-silence off | |
setw -g monitor-activity off | |
set -g bell-action none | |
#set -g default-terminal "screen-256color" | |
# The modes { | |
setw -g clock-mode-colour colour135 | |
setw -g mode-attr bold | |
setw -g mode-fg colour196 | |
setw -g mode-bg colour238 | |
# } | |
# The panes { | |
set -g pane-border-bg colour235 | |
set -g pane-border-fg colour238 | |
set -g pane-active-border-bg colour236 | |
set -g pane-active-border-fg colour51 | |
# } | |
# The statusbar { | |
set -g status-position bottom | |
set -g status-bg colour234 | |
set -g status-fg colour137 | |
set -g status-attr dim | |
set -g status-left '' | |
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S ' | |
set -g status-right-length 50 | |
set -g status-left-length 20 | |
setw -g window-status-current-fg colour81 | |
setw -g window-status-current-bg colour238 | |
setw -g window-status-current-attr bold | |
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |
setw -g window-status-fg colour138 | |
setw -g window-status-bg colour235 | |
setw -g window-status-attr none | |
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' | |
setw -g window-status-bell-attr bold | |
setw -g window-status-bell-fg colour255 | |
setw -g window-status-bell-bg colour1 | |
# } | |
# The messages { | |
set -g message-attr bold | |
set -g message-fg colour232 | |
set -g message-bg colour166 | |
# } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment