addet tmux conf redefined
This commit is contained in:
parent
3f1966034c
commit
511c7cd548
1 changed files with 85 additions and 52 deletions
137
.tmux.conf
137
.tmux.conf
|
@ -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 prefix
|
||||
# ───────────────────────────────────────────────────────────────────────────
|
||||
# Key Bindings
|
||||
# ───────────────────────────────────────────────────────────────────────────
|
||||
|
||||
# Set the prefix key to C-Space instead of default C-b
|
||||
unbind C-b
|
||||
set -g prefix C-Space
|
||||
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 pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
|
||||
# ────────────────────────────────────< List of plugins >──────────────────────────────────
|
||||
# ───────────────────────────────────────────────────────────────────────────
|
||||
# Split Panes in the Current Directory
|
||||
# ───────────────────────────────────────────────────────────────────────────
|
||||
|
||||
# ─< Import Plugins >─────────────────────────────────────────────────────────────────────
|
||||
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}"
|
||||
# Split horizontally or vertically while preserving the current directory
|
||||
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
|
||||
|
||||
# ───────────────────────────────────< 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
|
||||
|
||||
# ─< Switch to the right pane with Prefix + l >───────────────────────────────────────────────
|
||||
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.
|
||||
# ───────────────────────────────────────────────────────────────────────────
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue