addet tmux conf redefined

This commit is contained in:
pika 2025-03-08 22:37:32 +01:00
parent 3f1966034c
commit 511c7cd548

View file

@ -1,71 +1,104 @@
set-option -sa terminal-overrides ",xterm*:Tc" # ───────────────────────────────────────────────────────────────────────────
# General tmux Settings
# ───────────────────────────────────────────────────────────────────────────
# Enable 256 color support for tmux
set-option -sa terminal-overrides ",xterm-256color*:Tc"
# Enable mouse support (for scrolling, resizing, etc.)
set -g mouse on set -g mouse on
# Set prefix # ───────────────────────────────────────────────────────────────────────────
# Key Bindings
# ───────────────────────────────────────────────────────────────────────────
# Set the prefix key to C-Space instead of default C-b
unbind C-b unbind C-b
set -g prefix C-Space set -g prefix C-Space
bind C-Space send-prefix bind C-Space send-prefix
# ─< Start windows and panes at 1, not 0 >────────────────────────────────────────────────── # ───────────────────────────────────────────────────────────────────────────
# Window and Pane Indexing
# ───────────────────────────────────────────────────────────────────────────
# Start windows and panes at index 1 instead of 0
set -g base-index 1 set -g base-index 1
set -g pane-base-index 1 set -g pane-base-index 1
set-window-option -g pane-base-index 1 set-window-option -g pane-base-index 1
set-option -g renumber-windows on set-option -g renumber-windows on
# ────────────────────────────────────< List of plugins >────────────────────────────────── # ───────────────────────────────────────────────────────────────────────────
# Split Panes in the Current Directory
# ───────────────────────────────────────────────────────────────────────────
# ─< Import Plugins >───────────────────────────────────────────────────────────────────── # Split horizontally or vertically while preserving the current directory
set -g @plugin 'tmux-plugins/tpm'
# ────────────────────────────< tmux settings everybody agreed >────────────────────────────
set -g @plugin 'tmux-plugins/tmux-sensible'
# ────────────────────────────────────< yank for tmux >──────────────────────────────────
set -g @plugin 'tmux-plugins/tmux-yank'
# ────────────────────< tmux session plugin for after reboot sessions >──────────────────
set -g @plugin 'tmux-plugins/tmux-resurrect'
# ─────────────────────────────────< tmux battery plugin >───────────────────────────────
# set -g @plugin 'tmux-plugins/tmux-battery'
# ─────────────────────────────────────< colorschemes >─────────────────────────────────────
# set -g @plugin 'catppuccin/tmux'
# set -g @plugin 'janoamaral/tokyo-night-tmux'
set -g @plugin 'egel/tmux-gruvbox'
# set desired theme options...
set -g @tmux-gruvbox 'dark256' # or 'dark', 'light', 'light256'
# ────────────────────────────────────< copyct plugin >──────────────────────────────────
set -g @plugin 'tmux-plugins/tmux-copycat'
# ────────────────────────────────< ethernet speed plugin >──────────────────────────────
# set -g @plugin 'tmux-plugins/tmux-net-speed'
# set -g @net_speed_interfaces 'eth0 enp7s0 wlan0'
# ─────────────────────────────────────────< Themes >─────────────────────────────────────────
# ─< catppuccin >─────────────────────────────────────────────────────────────────────────
# set -g @catppuccin_flavour 'mocha' # latte, frappe, mocha or macchiato
# ─< tokyo-night >────────────────────────────────────────────────────────────────────────
set -g @tokyo-night-tmux_window_id_style digital
set -g @tokyo-night-tmux_pane_id_style hsquare
set -g @tokyo-night-tmux_zoom_id_style dsquare
run '~/.tmux/plugins/tpm/tpm'
# ─< Split panes in current directory >───────────────────────────────────────────────────
bind j split-window -v -c "#{pane_current_path}"
bind h split-window -h -c "#{pane_current_path}" bind h split-window -h -c "#{pane_current_path}"
bind j split-window -v -c "#{pane_current_path}"
# ─< Make pane fullscreen >───────────────────────────────────────────────────────────────── # ───────────────────────────────────────────────────────────────────────────
# Make Pane Fullscreen
# ───────────────────────────────────────────────────────────────────────────
# Toggle the current pane between normal and fullscreen mode
bind -n C-f resize-pane -Z bind -n C-f resize-pane -Z
# ───────────────────────────────────< Navigate the panes >─────────────────────────────────── # ───────────────────────────────────────────────────────────────────────────
# ─< Switch to the left pane with Prefix + h >──────────────────────────────────────────────── # Navigation between Panes
# ───────────────────────────────────────────────────────────────────────────
# Use C-h and C-l to switch between panes
bind -n C-h select-pane -L bind -n C-h select-pane -L
# ─< Switch to the right pane with Prefix + l >───────────────────────────────────────────────
bind -n C-l select-pane -R bind -n C-l select-pane -R
# ───────────────────────────────────────────────────────────────────────────
# Plugins
# ───────────────────────────────────────────────────────────────────────────
# Use TPM (Tmux Plugin Manager) to manage plugins
set -g @plugin 'tmux-plugins/tpm'
# List of Plugins to Install
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @plugin 'egel/tmux-gruvbox' # Gruvbox theme for tmux
set -g @plugin 'tmux-plugins/tmux-sensible' # Sensible tmux defaults
set -g @plugin 'tmux-plugins/tmux-yank' # Yank (copy-paste) support
set -g @plugin 'b0o/tmux-autoreload' # Auto-reload tmux config when updated
# Initialize TPM (Tmux Plugin Manager)
run '~/.tmux/plugins/tpm/tpm'
# ───────────────────────────────────────────────────────────────────────────
# Gruvbox Theme Configuration
# ───────────────────────────────────────────────────────────────────────────
# Gruvbox color scheme settings
set -g @tmux-gruvbox 'dark256' # Can be 'dark', 'dark256', 'light', 'light256'
set -g @tmux-gruvbox-right-status-z '#h #{tmux_mode_indicator}' # Hostname and tmux mode indicator
set -g @tmux-gruvbox-right-status-x '%d.%m.%Y' # Date format (e.g., 30.01.2024)
# Customize status line to show the mode indicator when in prefix mode
set -g status on
set -g status-interval 2 # Refresh every 2 seconds
# Ensure that when prefix is pressed, the mode indicator is shown
set -g mode-keys vi # Use vi keybindings in copy mode
set -g status-left-length 30 # Limit length of the left status line
set -g status-right-length 60 # Limit length of the right status line
# ───────────────────────────────────────────────────────────────────────────
# Additional Settings (Optional)
# ───────────────────────────────────────────────────────────────────────────
# Allow pane splitting and navigation using Emacs-like bindings
# 'C-h' (left) and 'C-l' (right) to switch between panes.
# This is already defined earlier in the config.
# ───────────────────────────────────────────────────────────────────────────
# Auto-reload tmux config on changes (with TPM)
# ───────────────────────────────────────────────────────────────────────────
# Reload tmux configuration without restarting tmux
bind r source-file ~/.tmux.conf \; display-message "Config reloaded!"
# ───────────────────────────────────────────────────────────────────────────
# Other customizations or plugins can go below as needed.
# ───────────────────────────────────────────────────────────────────────────