From 4056c15b7da4436f06147ecd8e5348ac2dc8f7fb Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Wed, 2 Apr 2025 14:56:45 +0100 Subject: [PATCH] Start making improvements to tmux.conf; some depend on recent tmux versions Will need to see if we can guard those. --- tmux.conf | 64 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/tmux.conf b/tmux.conf index 0524685..25d3bfd 100644 --- a/tmux.conf +++ b/tmux.conf @@ -1,11 +1,65 @@ +# Bind tmux prefix to Ctrl-B +set -g prefix C-b + +# But give us a way to send it through if necessary. +bind C-b send-prefix + +# Start window numbering at 1, not 0. set -g base-index 1 +# Same for panes, to be consistent. +set -w -g pane-base-index 1 + # run-shell ~/src/tmux-resurrect/resurrect.tmux bind C-l send-keys 'C-l' -bind r source ~/.tmux.conf\; display "~/.tmux.conf sourced!" -bind-key P command-prompt -p 'save history to filename:' -I '~/tmux.history' 'capture-pane -S -32768 ; save-buffer %1 ; delete-buffer' +bind r \ + source ~/.tmux.conf\; \ + display "Configuration reloaded." + +# Save entire pane history to a file. +bind-key P \ + command-prompt -p 'save history to filename:' -I '~/tmux.history' 'capture-pane -S -32768 ; save-buffer %1 ; delete-buffer' + +# Turn on focus events, used by (for example) Vim. +set -g focus-events on + +# Reduce time waited to see if a key is escape alone or an escape sequence. +set -sg escape-time 10 + +# Easier to remember keys for splitting panes. +bind | split-window -h +bind - split-window -v + +# Additional pane navigation. +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# And resizing, with repeatable bindings. +bind -r H resize-pane -L 5 +bind -r J resize-pane -D 5 +bind -r K resize-pane -U 5 +bind -r L resize-pane -R 5 + +# I'm not a keyboard fanatic; enable the mouse. +set -g mouse on + +# Enable the pretty colours... +# If there are problems with outdated ncurses's's's, we can use "screen-256color" instead. +set -g default-terminal "tmux-256color" + +# Override terminal for 32-bit RGB colour. (Disabled for now, need to test with MobaXterm.) +# set -a terminal-overrides ",*256col*:RGB" + +# Make it obvious which pane we're in. +set -w -g pane-active-border-style fg=black,bg=color140 +set -g pane-border-indicators arrows + +# Give the panes their own status indicator. +set -g pane-border-status top # List of plugins set -g @plugin 'tmux-plugins/tpm' @@ -24,12 +78,6 @@ set -g @plugin 'seebi/tmux-colors-solarized' set -g @resurrect-strategy-vim 'session' set -g @continuum-restore 'on' -# Turn on focus events, used by (for example) Vim. -set -g focus-events on - -# Reduce time waited to see if a key is escape alone or an escape sequence. -set -sg escape-time 10 - # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run -b '~/.tmux/plugins/tpm/tpm'