diff --git a/.tmux.conf b/.tmux.conf index d76cd75..db3e870 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -4,6 +4,9 @@ bind r source ~/.tmux.conf # Remove ESC moving panes, etc set -s escape-time 0 +# ------ Controls ------ +# ---- Pane Controls ---- + # Vim binding for pane switching (needs to take multiple inputs tho) bind h select-pane -L bind j select-pane -D @@ -11,28 +14,85 @@ bind k select-pane -U bind l select-pane -R # switch panes using CRTL+hjkl -bind -n C-h select-pane -L -bind -n C-j select-pane -D -bind -n C-k select-pane -U -bind -n C-l select-pane -R +bind -n M-h select-pane -L +bind -n M-j select-pane -D +bind -n M-k select-pane -U +bind -n M-l select-pane -R # Resize Panes with CTRL+Shift+HJKL (or just caps) -#bind -n C-H resize-pane -L 2 -#bind -n C-J resize-pane -D 2 -#bind -n C-K resize-pane -U 2 -#bind -n C-L resize-pane -R 2 +bind -n C-S-h resize-pane -L 2 +bind -n C-S-j resize-pane -D 2 +bind -n C-S-k resize-pane -U 2 +bind -n C-S-l resize-pane -R 2 + +# Switch Panes +bind -r > swap-pane -D # Next pane +bind -r < swap-pane -U # Prev Pan +bind -n M-> swap-pane -D # Next pane +bind -n M-< swap-pane -U # Next pane + +# Splits +bind -n M-/ split-window -h # Split panes horizontal +bind -n M-? split-window -v # Split panes vertically # Zoom into the current pane bind-key z resize-pane -Z bind -n C-z resize-pane -Z +# ---- Window Controls ---- +#unbind n +#unbind p +bind -r C-h previous-window # select previous window +bind -r C-l next-window # select next window +bind Tab last-window # move to last active window + +# ---- Session Controls ---- +bind -n C-s new-session + +# Buffers +bind b list-buffers # list paste buffers +bind p paste-buffer # paste from the top paste buffer +bind P choose-buffer + +# Popup Session +#bind -n M-g display-popup -E "tmux new-session -A -s scratch" + +# ------ General ------ # Enable mouse control (clickable windows, panes, resizable panes) -set -g mouse on +#set -g mouse on # Disable auto renames set-option -g allow-rename off +setw -g automatic-rename off +# Display +set -g base-index 1 # Start window numbering at 1 +setw -g pane-base-index 1 # Start pane numbering at 1 -# Popup Session -#bind -n M-g display-popup -E "tmux new-session -A -s scratch" +set -g renumber-windows on # Renumber windows on close + +set -g status-keys vi +set -g mode-keys vi + +# ------ Theme ------ +# https://gist.github.com/spicycode/1229612 +set -g status-bg black +set -g status-fg white +set-window-option -g window-status-current-style fg=black,bg=white +set -g status-interval 60 +set -g status-left-length 30 + +# https://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/ +# 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 + +# statusbar +set -g status-position bottom +set -g status-justify centre +#set -g status-right-length 50 +#set -g status-left-length 20