mirror of
https://github.com/harivansh-afk/.tmux.git
synced 2026-04-19 16:03:43 +00:00
conf
This commit is contained in:
parent
e3f71ce7a0
commit
8cbcaaff1e
1 changed files with 122 additions and 0 deletions
122
.tmux.conf
Normal file
122
.tmux.conf
Normal 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 ""
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue