This commit is contained in:
Harivansh Rathi 2026-01-16 15:26:16 -05:00
parent e3f71ce7a0
commit 8cbcaaff1e

122
.tmux.conf Normal file
View file

@ -0,0 +1,122 @@
# =============================================================================
# TMUX Configuration
# =============================================================================
# -----------------------------------------------------------------------------
# General Settings
# -----------------------------------------------------------------------------
# Use 256 colors and true color support
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
# Enable mouse support
set -g mouse on
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
# Renumber windows when one is closed
set -g renumber-windows on
# Increase scrollback buffer
set -g history-limit 50000
# Faster key repetition
set -s escape-time 0
# Increase display time for messages
set -g display-time 2000
# Focus events for vim/neovim
set -g focus-events on
# -----------------------------------------------------------------------------
# Key Bindings
# -----------------------------------------------------------------------------
# Reload config with prefix + r
bind r source-file ~/.tmux.conf \; display-message "Config reloaded"
# Split panes with | and -
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# New window in current path
bind c new-window -c "#{pane_current_path}"
# Vim-style pane navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Resize panes with prefix + H/J/K/L
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Quick window switching
bind -r n next-window
bind -r p previous-window
# -----------------------------------------------------------------------------
# Status Bar - handled by catppuccin theme
# -----------------------------------------------------------------------------
# Status bar position (bottom)
set -g status-position bottom
# -----------------------------------------------------------------------------
# Plugins
# -----------------------------------------------------------------------------
# TPM - Tmux Plugin Manager
set -g @plugin 'tmux-plugins/tpm'
# Sensible defaults
set -g @plugin 'tmux-plugins/tmux-sensible'
# Session persistence - ESSENTIAL
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Session manager with fuzzy finding
set -g @plugin 'sainnhe/tmux-fzf'
# Better copy/paste
set -g @plugin 'tmux-plugins/tmux-yank'
# Theme - Gruvbox
set -g @plugin 'egel/tmux-gruvbox'
# -----------------------------------------------------------------------------
# Plugin Configuration
# -----------------------------------------------------------------------------
# tmux-resurrect: save and restore sessions
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-strategy-nvim 'session'
# tmux-continuum: auto-save and restore
set -g @continuum-restore 'on'
set -g @continuum-save-interval '15'
# tmux-fzf configuration
TMUX_FZF_LAUNCH_KEY="f"
# Gruvbox theme configuration
set -g @tmux-gruvbox 'dark'
# -----------------------------------------------------------------------------
# Initialize TPM
# -----------------------------------------------------------------------------
run '~/.tmux/plugins/tpm/tpm'
# -----------------------------------------------------------------------------
# Override status bar (after theme loads)
# -----------------------------------------------------------------------------
set -g status-right ""