# 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"