# Tmux Basic Configure set -g mouse on set -g mode-keys vi # 讓終端支援 Truecolor set-option -ga terminal-overrides ',*:Tc' # == TPM Configure ============================================================ # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' # Other examples: # set -g @plugin 'github_username/plugin_name' # set -g @plugin 'github_username/plugin_name#branch' # set -g @plugin 'git@github.com:user/plugin' # set -g @plugin 'git@bitbucket.com:user/plugin' # set -g @plugin 'MunifTanjim/tmux-mode-indicator' set -g @plugin 'aacebedo/tmux-mode-indicator' set -g @plugin 'robhurring/tmux-uptime' set -g @plugin 'tassaron/tmux-df' # set -g @plugin 'anghootys/tmux-ip-address' set -g @plugin 'tmux-plugins/tmux-net-speed' # Warning! 這個套件副作用會處理多餘空隔(對策是全形空隔),以及內部可能有做正規表示式處理造成tmux-ip-address不正常 # == Plugin Configure ========================================================= set -g @net_speed_format "#[fg=green]⇣%s #[fg=yellow]⇡%s" # ---- tmux-mode-indicator ---------------------------------------------------- # prompt to display when tmux prefix key is pressed set -g @mode_indicator_prefix_prompt ' PREFIX ' # prompt to display when tmux is in copy mode set -g @mode_indicator_copy_prompt " COPY " # prompt to display when tmux has synchronized panes set -g @mode_indicator_sync_prompt ' SYNC ' # prompt to display when tmux is in normal mode set -g @mode_indicator_empty_prompt ' TERM ' # add an element at the start of the indicator in mode (replace it with prefix, copy, sync or empty) set -g @mode_indicator_prefix_end_prompt '' set -g @mode_indicator_copy_end_prompt '' set -g @mode_indicator_sync_end_prompt '' set -g @mode_indicator_empty_end_prompt '' # style values for prefix prompt set -g @mode_indicator_prefix_mode_style 'bg=green,fg=black,bold' # style values for copy prompt set -g @mode_indicator_copy_mode_style 'bg=violet,fg=black,bold' # style values for sync prompt set -g @mode_indicator_sync_mode_style 'bg=red,fg=black,bold' # style values for empty prompt set -g @mode_indicator_empty_mode_style 'bg=cyan,fg=black,bold' # stàle the element at the start of the indicator in mode (replace it with prefix, copy, sync or empty) set -g @mode_indicator_prefix_mode_end_style 'fg=green,bg=yellow' set -g @mode_indicator_copy_mode_end_style 'fg=violet,bg=yellow' set -g @mode_indicator_sync_mode_end_style 'fg=red,bg=yellow' set -g @mode_indicator_empty_mode_end_style 'fg=cyan,bg=yellow' # == StatusBar Configure ====================================================== # tmux show-options -g | grep status-left set -g status-interval 1 set -g status-keys vi # set -g status-justify centre set -g status-left-length 100 set -g status-right-length 100 set -g status-bg default set -g status-fg white set -g status-style "bg=black,fg=white" set -g status-left "#{tmux_mode_indicator}#[fg=black,bg=yellow]#[fg=black,bg=yellow] ❐ #{session_name} #[fg=yellow,bg=white]#[fg=black,bg=white]#[range=user|new] + #[norange]#[fg=white,bg=default] " set -g status-right "#[fg=gray,bg=default] ⇄ #{net_speed} #[bg=default,fg=cyan]#[fg=black,bg=cyan]  #{df_avail} #[fg=pink,bg=cyan]#[fg=black,bg=pink] #{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}\"#{=21:pane_title}\" #[fg=white,bg=pink]#[bg=white,fg=black]  #{uptime}  %H:%M:%S " # set -g status-left '#{tmux_mode_indicator}#[fg=colour240]#(whoami)' # set -g status-left '#{tmux_mode_indicator}#[fg=colour240]#[fg=colour255,bg=colour240] #(whoami) #[fg=colour240,bg=default]' # set -g status-left "#[bg=colour240]aaaaa #[fg=colour240]#[fg=colour255,bg=colour240] #(whoami) #[fg=black,bg=colour240]" # set -g status-left "#[bg=colour240]aaaaa #[fg=colour240]#[fg=colour255,bg=colour240] #(whoami) #[fg=black,bg=colour240]" # set -g status-right "#(date '+%Y-%m-%d %H:%M') #[fg=colour240]#[fg=white,bg=colour240] #(uptime | cut -d ',' -f 1)" bind -Troot MouseDown1Status if -F '#{==:#{mouse_status_range},window}' { select-window } { if -F '#{==:#{mouse_status_range},new}' { new-window } } # == StatusBar window Configure =============================================== # set -g window-status-activity-style "reverse" # set -g window-status-bell-style "reverse" # set -g window-status-current-format "#I:#W#F" # set -g window-status-current-style "default" # set -g window-status-format "#I:#W#F" # set -g window-status-last-style "default" # set -g window-status-separator " " # set -g window-status-style "default" set -wg window-status-format "#[fg=blue,bg=default]#{?#{<:#{window_index},10}, #{window_index},#{window_index}}#[bg=default,fg=blue]#[bg=default,fg=black]#[bg=default,fg=gray] #W#{?window_flags,#{window_flags}, } #[fg=blue,bg=default]" set -wg window-status-current-format "#[fg=blue,bg=default]#[bg=blue,fg=black]#{?#{<:#{window_index},10}, #{window_index},#{window_index}}#[bg=blue,fg=black]#[bg=blue,fg=white] #W#{?window_flags,#{window_flags}, } #[fg=blue,bg=default]" # 状态栏当前窗口名称格式(#I:序号,#w:窗口名 称,#F:间隔符) # set -wg window-status-current-style "fg=#d7fcaf,bg=#60875f" # 状态栏当前窗口名称的样式 set -wg window-status-separator " " # 状态栏窗口名称之间的间隔 # == TPM Footer =------======================================================== # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm'