Update 05.04.2026
This commit is contained in:
@@ -17,7 +17,7 @@ setw -g aggressive-resize on
|
||||
unbind C-b
|
||||
set -g prefix C-a
|
||||
|
||||
# Set parent terminal title to reflect current window in tmux session
|
||||
# Set parent terminal title to reflect current window in tmux session
|
||||
set -g set-titles on
|
||||
set -g set-titles-string "#I:#W"
|
||||
|
||||
@@ -28,6 +28,7 @@ setw -g pane-base-index 1
|
||||
# Enable mouse support
|
||||
set -g mouse on
|
||||
|
||||
|
||||
# ==========================
|
||||
# === Key bindings ===
|
||||
# ==========================
|
||||
@@ -37,10 +38,10 @@ unbind "\$" # rename-session
|
||||
unbind , # rename-window
|
||||
unbind % # split-window -h
|
||||
unbind '"' # split-window
|
||||
unbind '}' # swap-pane -D
|
||||
unbind '{' # swap-pane -U
|
||||
unbind '}' # swap-pane -D
|
||||
unbind '{' # swap-pane -U
|
||||
unbind [ # paste-buffer
|
||||
unbind ]
|
||||
unbind ]
|
||||
unbind "'" # select-window
|
||||
unbind n # next-window
|
||||
unbind p # previous-window
|
||||
@@ -49,17 +50,19 @@ unbind M-n # next window with alert
|
||||
unbind M-p # next window with alert
|
||||
unbind o # focus thru panes
|
||||
unbind & # kill-window
|
||||
unbind "#" # list-buffer
|
||||
unbind "#" # list-buffer
|
||||
unbind = # choose-buffer
|
||||
unbind z # zoom-pane
|
||||
unbind M-Up # resize 5 rows up
|
||||
unbind M-Down # resize 5 rows down
|
||||
unbind M-Right # resize 5 rows right
|
||||
unbind M-Left # resize 5 rows left
|
||||
|
||||
|
||||
# Edit configuration and reload
|
||||
bind C-e new-window -n 'tmux.conf' "sh -c '\${EDITOR:-vim} ~/.tmux.conf && tmux source ~/.tmux.conf && tmux display \"Config reloaded\"'"
|
||||
|
||||
# Reload tmux configuration
|
||||
# Reload tmux configuration
|
||||
bind C-w source-file ~/.tmux.conf \; display "Config reloaded"
|
||||
|
||||
# New window and retain cwd
|
||||
@@ -84,6 +87,9 @@ bind -r ] select-pane -t :.+
|
||||
bind -r Tab last-window # cycle thru MRU tabs
|
||||
bind -r C-o swap-pane -D
|
||||
|
||||
# Zoom pane
|
||||
bind + resize-pane -Z
|
||||
|
||||
# Link window
|
||||
bind L command-prompt -p "Link window from (session:window): " "link-window -s %% -a"
|
||||
|
||||
@@ -305,6 +311,18 @@ bind '$' run "~/.dots/tmux/utils/renew_env.sh"
|
||||
# === Plugins ===
|
||||
# ============================
|
||||
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-battery'
|
||||
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
|
||||
set -g @plugin 'tmux-plugins/tmux-online-status'
|
||||
set -g @plugin 'tmux-plugins/tmux-sidebar'
|
||||
set -g @plugin 'tmux-plugins/tmux-copycat'
|
||||
set -g @plugin 'tmux-plugins/tmux-open'
|
||||
set -g @plugin 'samoshkin/tmux-plugin-sysstat'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
set -g @plugin 'tmux-plugins/tmux-ressurect'
|
||||
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||
|
||||
# Plugin properties
|
||||
set -g @sidebar-tree 't'
|
||||
set -g @sidebar-tree-focus 'T'
|
||||
@@ -314,10 +332,6 @@ set -g @continuum-restore 'on'
|
||||
|
||||
set -g @open-S 'https://www.google.com/search?q='
|
||||
|
||||
# tmux-yank
|
||||
#set -g @custom_copy_command 'xsel' # xclip or something else
|
||||
#set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default
|
||||
|
||||
# ==============================================
|
||||
# === Nesting local and remote sessions ===
|
||||
# ==============================================
|
||||
@@ -341,7 +355,7 @@ bind -T root F12 \
|
||||
if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\
|
||||
refresh-client -S \;\
|
||||
|
||||
bind -T off F12 \
|
||||
bind -T off F12\
|
||||
set -u prefix \;\
|
||||
set -u key-table \;\
|
||||
set -u status-style \;\
|
||||
@@ -349,16 +363,22 @@ bind -T off F12 \
|
||||
set -u window-status-current-format \;\
|
||||
refresh-client -S
|
||||
|
||||
# Run all plugins' scripts
|
||||
run '~/.dots/tmux/plugins/tmux-battery/battery.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-online-status/online_status.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-plugin-sysstat/sysstat.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-prefix-highlight/prefix_highlight.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-copycat/copycat.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-open/open.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-sidebar/sidebar.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-yank/yank.tmux'
|
||||
bind -T root C-q \
|
||||
set prefix None \;\
|
||||
set key-table off \;\
|
||||
set status-style "fg=$color_status_text,bg=$color_window_off_status_bg" \;\
|
||||
set window-status-current-format "#[fg=$color_window_off_status_bg,bg=$color_window_off_status_current_bg]$separator_powerline_right#[default] #I:#W# #[fg=$color_window_off_status_current_bg,bg=$color_window_off_status_bg]$separator_powerline_right#[default]" \;\
|
||||
set window-status-current-style "fg=$color_dark,bold,bg=$color_window_off_status_current_bg" \;\
|
||||
if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\
|
||||
refresh-client -S \;\
|
||||
|
||||
run '~/.dots/tmux/plugins/tmux-ressurect/resurrect.tmux'
|
||||
run '~/.dots/tmux/plugins/tmux-continuum/continuum.tmux'
|
||||
bind -T off C-q \
|
||||
set -u prefix \;\
|
||||
set -u key-table \;\
|
||||
set -u status-style \;\
|
||||
set -u window-status-current-style \;\
|
||||
set -u window-status-current-format \;\
|
||||
refresh-client -S
|
||||
|
||||
# Initialize TPM (must be last)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
|
||||
Reference in New Issue
Block a user