feat(tmux): improve tmux ssh behavior

This commit is contained in:
2026-09-18 14:17:54 +02:00
parent b95c79e371
commit 2c1a37660b
3 changed files with 382 additions and 48 deletions

View File

@@ -13,6 +13,10 @@ set -g prefix C-s
set -g base-index 1
set -g focus-events on
set -g update-environment "SSH_AUTH_SOCK SSH_CONNECTION SSH_TTY DISPLAY"
# when a session dies under the client (e.g. a failed ssh in tmux-ssher) go to
# the most recently used session instead of detaching. not "previous": that
# path crashes the whole server on 3.7b+ (tmux issue 5344, fixed after 3.7c)
set -g detach-on-destroy off
# status bar
set -g status-style 'bg=default fg=default'
@@ -37,6 +41,13 @@ bind j select-pane -D
bind h select-pane -L
bind l select-pane -R
# windows and panes: inside an ssh session (@ssh_host set by tmux-ssher) new
# panes open on the same host over the multiplexed connection.
# new-window/split-window do not expand formats in their command, run-shell does
bind c if-shell -F "#{@ssh_host}" 'run-shell "tmux new-window -t \"#{session_name}\" -n \"#{@ssh_host}\" \"ssh #{@ssh_host}\""' "new-window"
bind '"' if-shell -F "#{@ssh_host}" 'run-shell "tmux split-window -v -t \"#{pane_id}\" \"ssh #{@ssh_host}\""' "split-window -v"
bind % if-shell -F "#{@ssh_host}" 'run-shell "tmux split-window -h -t \"#{pane_id}\" \"ssh #{@ssh_host}\""' "split-window -h"
# reload
bind r source-file "$XDG_CONFIG_HOME/tmux/tmux.conf"