Last active
November 8, 2025 22:22
-
-
Save Wind010/323a9e6aee0251eab83117d53e9ca4c6 to your computer and use it in GitHub Desktop.
Tmux config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # List of plugins | |
| set -g @plugin 'tmux-plugins/tpm' | |
| set -g @plugin 'tmux-plugins/tmux-sensible' | |
| set -g @plugin 'tmux-plugins/tmux-logging' | |
| set -g @plugin 'tmux-plugins/tmux-yank' | |
| set -g @plugin 'tmux-plugins/tmux-resurrect' | |
| set -g prefix C-a | |
| bind C-a send-prefix | |
| bind a last-window | |
| unbind C-b | |
| set -g history-limit 100000 | |
| set -g allow-rename off | |
| ## Join Windows | |
| bind-key j command-prompt -p "join pane from:" "join-pain -s '%%'" | |
| bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" | |
| # Search mode VI (default is emac) | |
| set-window-option -g mode-keys vi | |
| # Mouse scrolling | |
| set -g mouse on | |
| # Others | |
| set -g activity-action other | |
| set -g assume-paste-time 1 | |
| set -g base-index 0 | |
| set -g bell-action any | |
| set -g default-command '' | |
| set -g default-shell /usr/bin/zsh | |
| set -g default-size 80x24 | |
| set -g destroy-unattached off | |
| set -g detach-on-destroy on | |
| set -g display-panes-active-colour red | |
| set -g display-panes-colour blue | |
| set -g display-panes-time 1000 | |
| set -g display-time 750 | |
| set -g history-limit 65000 | |
| set -g key-table root | |
| set -g lock-after-time 0 | |
| set -g lock-command "lock -np" | |
| set -g message-command-style bg=black,fg=yellow | |
| set -g message-style bg=yellow,fg=black | |
| set -g prefix C-b | |
| set -g prefix2 C-a | |
| set -g renumber-windows off | |
| set -g repeat-time 500 | |
| set -g set-titles off | |
| set -g set-titles-string "#S:#I:#W - \"#T\" #{session_alerts}" | |
| set -g silence-action other | |
| set -g status on | |
| set -g status-bg default | |
| set -g status-fg default | |
| set -g status-format[0] "#[align=left range=left #{E:status-left-style}]#[push-default]#{T;=/#{status-left-length}:status-left}#[pop-default]#[norange default]#[list=on align=#{status-justify}]#[list=left-marker]<#[list=right-marker]>#[list=on]#{W:#[range=window|#{window_index} #{E:window-status-style}#{?#{&&:#{window_last_flag},#{!=:#{E:window-status-last-style},default}}, #{E:window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{E:window-status-bell-style},default}}, #{E:window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{E:window-status-activity-style},default}}, #{E:window-status-activity-style},}}]#[push-default]#{T:window-status-format}#[pop-default]#[norange default]#{?window_end_flag,,#{window-status-separator}},#[range=window|#{window_index} list=focus #{?#{!=:#{E:window-status-current-style},default},#{E:window-status-current-style},#{E:window-status-style}}#{?#{&&:#{window_last_flag},#{!=:#{E:window-status-last-style},default}}, #{E:window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{E:window-status-bell-style},default}}, #{E:window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{E:window-status-activity-style},default}}, #{E:window-status-activity-style},}}]#[push-default]#{T:window-status-current-format}#[pop-default]#[norange list=on default]#{?window_end_flag,,#{window-status-separator}}}#[nolist align=right range=right #{E:status-right-style}]#[push-default]#{T;=/#{status-right-length}:status-right}#[pop-default]#[norange default]" | |
| set -g status-format[1] "#[align=centre]#{P:#{?pane_active,#[reverse],}#{pane_index}[#{pane_width}x#{pane_height}]#[default] }" | |
| set -g status-interval 15 | |
| set -g status-justify left | |
| set -g status-keys vi | |
| set -g status-left "[#{session_name}] " | |
| set -g status-left-length 10 | |
| set -g status-left-style default | |
| set -g status-position bottom | |
| set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}\"#{=21:pane_title}\" %H:%M %d-%b-%y" | |
| set -g status-right-length 40 | |
| set -g status-right-style default | |
| set -g status-style bg=green,fg=black | |
| set -g update-environment[0] DISPLAY | |
| set -g update-environment[1] KRB5CCNAME | |
| set -g update-environment[2] SSH_ASKPASS | |
| set -g update-environment[3] SSH_AUTH_SOCK | |
| set -g update-environment[4] SSH_AGENT_PID | |
| set -g update-environment[5] SSH_CONNECTION | |
| set -g update-environment[6] WINDOWID | |
| set -g update-environment[7] XAUTHORITY | |
| set -g visual-activity off | |
| set -g visual-bell off | |
| set -g visual-silence off | |
| set -g word-separators "!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~" | |
| # Sane scrolling | |
| #set -g terminal-overrides 'xterm*:smcup@:rmcup@' | |
| # Open window with current directory path | |
| bind c new-window -c "#{pane_current_path}" | |
| set -g @yank_selection_mouse 'clipboard' | |
| # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) | |
| run '~/.tmux/plugins/tpm/tpm' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment