|
# set Zsh as your default Tmux shell |
|
set-option -g default-shell /bin/zsh |
|
|
|
# set to vi mode |
|
set-window-option -g mode-keys vi |
|
|
|
# Tmux should be pretty, we need 256 color for that |
|
set -g default-terminal "xterm-256color" |
|
set-window-option -g xterm-keys on |
|
|
|
# command delay? We don't want that, make it short |
|
set -sg escape-time 1 |
|
|
|
# Change cursor in vim to distinguish between insert and command mode |
|
set-option -g terminal-overrides '*88col*:colors=88,*256col*:colors=256,xterm*:XT:Ms=\E]52;%p1%s;%p2%s\007:Cc=\E]12;%p1%s\007:Cr=\E]112\007:Cs=\E]50;CursorShape=%?%p1%{3}%<%t%{0}%e%p1%{2}%-%;%d\007' |
|
|
|
# Allow us to reload our Tmux configuration while using Tmux |
|
bind r source-file ~/.tmux.conf \; display "Reloaded!" |
|
|
|
# bind HJKL to pane switching |
|
# bind -r -n C-h select-pane -L |
|
# bind -r -n C-j select-pane -D |
|
# bind -r -n C-k select-pane -U |
|
# bind -r -n C-l select-pane -R |
|
|
|
# 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 C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" |
|
bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" |
|
bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" |
|
bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" |
|
bind -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" |
|
|
|
# for moving tabs around |
|
# source: https://superuser.com/questions/343572/how-do-i-reorder-tmux-windows/552493#552493 |
|
|
|
bind-key -n C-S-Left swap-window -t -1 |
|
bind-key -n C-S-Right swap-window -t +1 |
|
|
|
# Footer coloring |
|
|
|
set -g default-terminal "screen-256color" |
|
|
|
set -g status-bg blue |
|
set -g status-fg black |
|
|
|
set -g status-justify left |
|
set -g status-interval 1 |
|
|
|
# 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-option -g visual-activity off |
|
set-option -g visual-bell off |
|
set-option -g visual-silence off |
|
set-window-option -g monitor-activity off |
|
set-option -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=black,bg=white,bold] %d/%m/%y #[fg=white,bg=black,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 |
|
|
|
# } |