202 lines
5.2 KiB
Bash
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'
|
|
|