dotfiles/tmux.conf

184 lines
4.7 KiB
Plaintext
Raw Normal View History

2016-06-14 18:31:48 +00:00
# 0 is too far from `
set -g base-index 1
# Turn on mouse stuff
set-option -g mouse on
2017-06-21 18:59:17 +00:00
# Turn off automatic window naming
set-option -g alllow-rename off
# Unbind the Page keys as they interfere with VIM
unbind Pageup
unbind Pagedown
# Change Kill window behavior
unbind C-&
unbind &
bind k confirm kill-pane
bind K confirm kill-window
2016-06-14 18:31:48 +00:00
# Change our prefix to not have to move my fingers as far
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# Split with pipe and dash
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# Reload with C-r
bind r source-file ~/.tmux.conf
# Switch Panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
2017-06-21 18:59:17 +00:00
# Switch windows alt+number
2016-06-14 18:31:48 +00:00
bind-key -n M-1 select-window -t 1
2017-06-21 18:59:17 +00:00
bind-key -n M-2 select-window -t 2
2016-06-14 18:31:48 +00:00
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9
2017-06-21 18:59:17 +00:00
bind-key -n M-0 select-window -t 0
# Resize panes without prefix
bind -n M-< resize-pane -L 1
bind -n M-> resize-pane -R 1
2016-06-14 18:31:48 +00:00
# Display visual indicator about which pane is what
bind-key w display-panes
2017-06-21 18:59:17 +00:00
# Sets tmux scrollback history
set -g history-limit 5000000
# Syncronizes keys typed in one pane across all panes, press again to disable
bind-key y setw synchronize-panes
2016-06-14 18:31:48 +00:00
######################
### 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-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
2017-06-21 18:59:17 +00:00
# Colors
2016-06-14 18:31:48 +00:00
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
2017-06-21 18:59:17 +00:00
set -g status-left '#{prefix_highlight}'
set -g status-right '#{net_speed} #[fg=yellow]#(hostname)#[default] #[fg=colour234,bg=colour241,bold] %m/%d #[fg=colour233,bg=colour245,bold] %H:%M:%S '
set -g status-right-length 70
set -g status-left-length 4
2016-06-14 18:31:48 +00:00
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
# }
2017-06-21 18:59:17 +00:00
# List your plugins here
2016-06-14 18:31:48 +00:00
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-net-speed'
2017-06-21 18:59:17 +00:00
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-sessionist'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-logging'
# Plugin settings here
set -g @continuum-restore 'on'
# Install TPM if it does not exist
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
2016-06-14 18:31:48 +00:00
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
2017-06-21 18:59:17 +00:00
run '~/.tmux/plugins/tpm/tpm'