Being able to use a unified terminal setup between local and remote
hosts has some real advantages.
This commit is contained in:
David Heinemeier Hansson
2026-02-09 14:32:42 +01:00
parent ff234bba1f
commit ad43162f24
4 changed files with 100 additions and 0 deletions

64
config/tmux/tmux.conf Normal file
View File

@@ -0,0 +1,64 @@
# Reload config
unbind r
bind r source-file ~/.config/tmux/tmux.conf
# Themeing
source-file ~/.config/omarchy/current/theme/tmux.conf
# General
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",*:RGB"
set -g mouse on
set -g base-index 1
setw -g pane-base-index 1
set -g renumber-windows on
set -g history-limit 50000
set -g escape-time 0
set -g focus-events on
set -g set-clipboard on
setw -g aggressive-resize on
set -g detach-on-destroy off
# Status bar
set -g status-position top
set -g status-interval 5
set -g status-left-length 30
set -g status-right-length 50
set -g window-status-separator ""
# Vi mode for copy
setw -g mode-keys vi
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-selection-and-cancel
# Saner splits that open in the same directory
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# Pane navigation
unbind Left
unbind Down
unbind Up
unbind Right
bind Left select-pane -L
bind Down select-pane -D
bind Up select-pane -U
bind Right select-pane -R
# Pane resizing
bind -r S-Left resize-pane -L 5
bind -r S-Down resize-pane -D 5
bind -r S-Up resize-pane -U 5
bind -r S-Right resize-pane -R 5
# Window navigation
unbind PPage
bind PPage previous-window
bind NPage next-window
# New windows in same directory
bind c new-window -c "#{pane_current_path}"
# Sessions
bind C new-session
bind X kill-session