67 lines
3.3 KiB
Bash
67 lines
3.3 KiB
Bash
# =============================================================================
|
|
# ~/.tmux.conf — tmux configuration
|
|
# Managed by dotfiles ( ~/.config/fish/config.fish )
|
|
# Manual changes will be overwritten when `dotfiles update` is run.
|
|
# To customise, edit this template at:
|
|
# ~/.config/fish/dotfiles/tmux.conf
|
|
# then run `dotfiles update tmux`.
|
|
# =============================================================================
|
|
|
|
# ── Base settings ────────────────────────────────────────────────────────────
|
|
set -g default-terminal "tmux-256color"
|
|
set -ga terminal-overrides ",*256col*:Tc"
|
|
set -g escape-time 0
|
|
set -g history-limit 50000
|
|
set -g mouse on
|
|
set -g focus-events on
|
|
|
|
# ── Prefix key (unbind C-b, rebind to C-a for easier reach) ─────────────────
|
|
unbind C-b
|
|
set -g prefix C-a
|
|
bind C-a send-prefix
|
|
|
|
# ── Easy reload ──────────────────────────────────────────────────────────────
|
|
bind r source-file ~/.tmux.conf \; display " tmux.conf reloaded"
|
|
|
|
# ── Splitting ────────────────────────────────────────────────────────────────
|
|
bind | split-window -h
|
|
bind - split-window -v
|
|
|
|
# ── Arrow-key pane navigation (no prefix needed) ─────────────────────────────
|
|
bind -n Left select-pane -L
|
|
bind -n Right select-pane -R
|
|
bind -n Down select-pane -D
|
|
bind -n Up select-pane -U
|
|
|
|
# ── Resize panes with Alt+arrow keys ─────────────────────────────────────────
|
|
bind -n M-Left resize-pane -L 2
|
|
bind -n M-Right resize-pane -R 2
|
|
bind -n M-Down resize-pane -D 2
|
|
bind -n M-Up resize-pane -U 2
|
|
|
|
# ── Window management ────────────────────────────────────────────────────────
|
|
bind c new-window -c "#{pane_current_path}"
|
|
bind , command-prompt -I "#W" { rename-window -- "%%" }
|
|
bind w choose-tree -w
|
|
|
|
# ── Status bar ───────────────────────────────────────────────────────────────
|
|
set -g status-interval 5
|
|
set -g status-position top
|
|
set -g status-style "bg=#1e1e2e,fg=#cdd6f4"
|
|
|
|
set -g status-left " #[fg=#89b4fa]#S #[fg=#585b70]│"
|
|
set -g status-left-length 40
|
|
set -g status-right "#[fg=#585b70]│ #[fg=#a6e3a1]%Y-%m-%d #[fg=#fab387]%H:%M "
|
|
set -g status-right-length 60
|
|
|
|
setw -g window-status-current-style "fg=#89b4fa,bold"
|
|
setw -g window-status-style "fg=#6c7086"
|
|
setw -g window-status-format " #I:#W "
|
|
setw -g window-status-current-format " #I:#W "
|
|
setw -g window-status-separator " "
|
|
|
|
# ── Notifications ────────────────────────────────────────────────────────────
|
|
set -g bell-action any
|
|
setw -g monitor-activity on
|
|
set -g visual-activity off
|