You've already forked dotfiles
of the `tmux-sensible` plugin and cherry-picking of some settings from it.
66 lines
1.5 KiB
Bash
66 lines
1.5 KiB
Bash
# True color support
|
|
set-option -ga terminal-overrides ',xterm-*:Tc'
|
|
|
|
# Set encoding to Unicode8
|
|
setw -gq utf8 on
|
|
|
|
set -g status-interval 5
|
|
set -g display-time 4000
|
|
|
|
# Numbering changes
|
|
set -g base-index 1
|
|
set -g pane-base-index 1
|
|
set -g renumber-windows on
|
|
|
|
# History lengthening from the default 2k
|
|
set -g history-limit 50000
|
|
|
|
setw -g mode-keys vi
|
|
|
|
set -g focus-events on
|
|
|
|
# Window resizing on host shell size changes TODO: needs testing with pair coding
|
|
set -g window-size latest
|
|
setw -g aggressive-resize on
|
|
|
|
# set -g default-command 'reattach-to-user-namespace -l $SHELL' # TODO: Is this necessary for Mac still?
|
|
|
|
# Allow for external system clipboard
|
|
set-option -g set-clipboard external
|
|
set-option -g allow-passthrough on
|
|
|
|
# Allow mouse interactions
|
|
set -g mouse on
|
|
|
|
# Disable auto-renaming of windows
|
|
set-option -g allow-rename
|
|
|
|
# More natural window splits
|
|
bind \\ split-window -h -c '#{pane_current_path}'
|
|
bind - split-window -v -c '#{pane_current_path}'
|
|
|
|
# Remove original split shortcuts
|
|
unbind '"'
|
|
unbind %
|
|
|
|
# Reload the config while inside of tmux
|
|
bind r source-file ~/.tmux.conf; display-message 'Config reloaded...'
|
|
|
|
# Better pane navigation
|
|
bind -n C-M-h select-pane -L
|
|
bind -n C-M-j select-pane -D
|
|
bind -n C-M-k select-pane -U
|
|
bind -n C-M-l select-pane -R
|
|
|
|
# Quick jump between windows like buffers in nvim
|
|
bind -n M-h previous-window
|
|
bind -n M-l next-window
|
|
|
|
# Plugins
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'tmux-plugins/tmux-yank'
|
|
set -g @plugin 'egel/tmux-gruvbox'
|
|
|
|
# Required for TPM plugins
|
|
run '~/.tmux/plugins/tpm/tpm'
|