You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.4 KiB
Plaintext
99 lines
2.4 KiB
Plaintext
# Bind r to reload the source
|
|
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
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
# switch panes using CRTL+hjkl
|
|
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-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
|
|
|
|
# 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
|
|
|
|
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
|
|
|