Files
dotfiles/laptop/.config/tmux/tmux.conf
Rob Harbaugh a0abf9705f Initial dotfiles commit
Laptop config: zsh, emacs (with WSL detection for work), ghostty, tmux, ranger,
newsboat, neomutt + mbsync + msmtp (Outlook OAuth2), neomutt signature.
Work config: emacs with C#/TS/JS/CSS/HTML dev settings for WSL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 14:39:23 -04:00

56 lines
1.7 KiB
Bash

# tmux.conf — keybindings mirror emacs window/windmove conventions
# Emacs-style splits (mirrors C-x 2 / C-x 3)
unbind '"'
unbind %
bind 2 split-window -v -c "#{pane_current_path}" # horizontal split (below)
bind 3 split-window -h -c "#{pane_current_path}" # vertical split (right)
# Emacs-style close (mirrors C-x 0 / C-x 1)
bind 0 kill-pane
bind 1 kill-pane -a
# Emacs-style cycle (mirrors C-x o)
bind o select-pane -t :.+
# Pane navigation: prefix+Arrow everywhere, M-S-Arrow without prefix
bind Left select-pane -L
bind Right select-pane -R
bind Up select-pane -U
bind Down select-pane -D
bind -n M-S-Left select-pane -L
bind -n M-S-Right select-pane -R
bind -n M-S-Up select-pane -U
bind -n M-S-Down select-pane -D
# Copy mode with emacs keys
set-window-option -g mode-keys emacs
# General
set -g mouse on
set -g history-limit 10000
set -sg escape-time 0 # no delay for escape — important for emacs
set -g focus-events on
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',*:Tc' # true color passthrough
set -g xterm-keys on # pass modified keys (S-Arrow etc.) to inner apps
set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on
# Status bar — catppuccin mocha
set -g status-style "bg=#1e1e2e fg=#cdd6f4"
set -g status-left "#[fg=#89b4fa,bold] #S "
set -g status-right "#[fg=#a6e3a1]#H #[fg=#cdd6f4]%H:%M "
set -g status-left-length 30
set -g window-status-format "#[fg=#6c7086] #I #W "
set -g window-status-current-format "#[fg=#cdd6f4,bold] #I #W "
set -g pane-border-style "fg=#313244"
set -g pane-active-border-style "fg=#89b4fa"
set -g message-style "bg=#313244 fg=#cdd6f4"