dotfiles/home/shell/tmux.conf
2020-10-05 17:01:48 -05:00

202 lines
5.2 KiB
Bash

# 0 is too far from `
set -g base-index 1
# Turn on mouse stuff
set-option -g mouse off
# Turn off automatic window naming
set-option -g allow-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
# 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
# Switch windows alt+number
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
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
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
# Display visual indicator about which pane is what
bind-key w display-panes
# Sets tmux scrollback history
set -g history-limit 5000
# Syncronizes keys typed in one pane across all panes, press again to disable
bind-key y setw synchronize-panes
#
#######################
#### 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
#
## Colors
#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 '#{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
#
#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
#
## }
#
# Load Iceberg theme
source-file ~/.tmux/iceberg.tmux.conf
# Iceberg-specific settings
# Powerline separators
separator_left="\ue0b0"
separator_right="\ue0b2"
subseparator_left="\ue0b1"
subseparator_right="\ue0b3"
# List your plugins here
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-net-speed'
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'
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
# Plugin settings here
set -g @continuum-restore 'on'
# Automatically install TPM plugins (eg. first launch)
setenv -g TMUX_PLUGIN_MANAGER_PATH '$HOME/.tmux/plugins/'
# 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'"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'