-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdot_tmux.conf.local.tmpl
More file actions
199 lines (177 loc) · 14.4 KB
/
dot_tmux.conf.local.tmpl
File metadata and controls
199 lines (177 loc) · 14.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# : << EO
# ~/.tmux.conf.local
# 基于 gpakosz/.tmux 的本地覆盖设置,重新整理各段并为每个选项补充中文注释。
# ------------------------------------------------------------------------------
# 模板保留区:如需定义自定义 #{变量},可取消注释并在下方 EOF 区块中编写函数。
# ------------------------------------------------------------------------------
# : << 'EOF'
# weather() {
# curl -m 1 wttr.in?format=3 2>/dev/null
# sleep 900 # 每 15 分钟刷新一次天气,避免频繁联网
# }
#
# online() {
# ping -t 1 -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘'
# }
#
# "$@"
# EOF
# 请勿删除上一行,oh-my-tmux 需要它来正确载入自定义函数。
# ------------------------------------------------------------------------------
# 窗口与面板行为
# ------------------------------------------------------------------------------
tmux_conf_new_window_retain_current_path=false # 新窗口回到默认目录(false),避免继承当前路径
tmux_conf_new_pane_retain_current_path=true # 新面板继承当前路径,减少重复 cd 操作
tmux_conf_new_pane_reconnect_ssh=false # 新面板不尝试自动恢复 SSH,避免产生卡顿
tmux_conf_new_session_prompt=false # 创建会话时不弹出名称提示,快速启动
# ------------------------------------------------------------------------------
# 显示与配色
# ------------------------------------------------------------------------------
tmux_conf_24b_colour=false # 关闭 24 位真彩支持,保持与默认主题一致
tmux_conf_theme_colour_1="#080808" # 主题色板 1:深灰,常用于状态栏背景
tmux_conf_theme_colour_2="#303030" # 主题色板 2:灰色,用作未选中面板边框
tmux_conf_theme_colour_3="#8a8a8a" # 主题色板 3:浅灰,用于状态文字
tmux_conf_theme_colour_4="#00afff" # 主题色板 4:亮蓝,突出当前窗口
tmux_conf_theme_colour_5="#ffff00" # 主题色板 5:黄色,用于消息背景
tmux_conf_theme_colour_6="#080808" # 主题色板 6:深灰,状态左侧背景第一段
tmux_conf_theme_colour_7="#e4e4e4" # 主题色板 7:白色,状态左侧文本第一段
tmux_conf_theme_colour_8="#080808" # 主题色板 8:深灰,状态左侧背景第二段
tmux_conf_theme_colour_9="#ffff00" # 主题色板 9:黄色,状态左侧背景第二段
tmux_conf_theme_colour_10="#ff00af" # 主题色板 10:粉色,状态左侧背景第三段
tmux_conf_theme_colour_11="#5fff00" # 主题色板 11:绿色,状态左侧背景第三段
tmux_conf_theme_colour_12="#8a8a8a" # 主题色板 12:浅灰,状态右侧文字第一段
tmux_conf_theme_colour_13="#e4e4e4" # 主题色板 13:白色,状态右侧文字第二段
tmux_conf_theme_colour_14="#080808" # 主题色板 14:深灰,状态右侧文字第三段
tmux_conf_theme_colour_15="#080808" # 主题色板 15:深灰,状态右侧背景第一段
tmux_conf_theme_colour_16="#d70000" # 主题色板 16:红色,状态右侧背景第二段
tmux_conf_theme_colour_17="#e4e4e4" # 主题色板 17:白色,状态右侧背景第三段
tmux_conf_theme_window_fg="default" # 窗口前景色沿用默认值
tmux_conf_theme_window_bg="default" # 窗口背景色沿用默认值
tmux_conf_theme_highlight_focused_pane=false # 不额外高亮聚焦面板,保持简洁
tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2" # 聚焦面板背景使用色板 2
tmux_conf_theme_pane_border_style=fat # 面板边框使用粗线,便于分辨
tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2" # 未激活面板边框颜色
tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4" # 激活面板边框颜色
tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4" # 面板编号提示颜色
tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4" # 活动面板编号颜色
tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1" # 命令提示文字颜色
tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5" # 命令提示背景颜色
tmux_conf_theme_message_attr="bold" # 命令提示文字加粗
tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5" # 命令模式文字颜色
tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1" # 命令模式背景颜色
tmux_conf_theme_message_command_attr="bold" # 命令模式文字加粗
tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1" # 复制模式文字颜色
tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5" # 复制模式背景颜色
tmux_conf_theme_mode_attr="bold" # 复制模式文字加粗
tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3" # 状态栏默认文字颜色
tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1" # 状态栏默认背景颜色
tmux_conf_theme_status_attr="none" # 状态栏默认不加粗不变色
tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W" # 终端标题显示主机、会话与窗口编号
tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3" # 非当前窗口状态文字颜色
tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1" # 非当前窗口状态背景颜色
tmux_conf_theme_window_status_attr="none" # 非当前窗口状态不加样式
tmux_conf_theme_window_status_format="#I #W" # 非当前窗口状态显示窗口编号与名称
tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1" # 当前窗口状态文字颜色
tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4" # 当前窗口状态背景颜色
tmux_conf_theme_window_status_current_attr="bold" # 当前窗口状态文字加粗
tmux_conf_theme_window_status_current_format="#I #W" # 当前窗口状态同样显示编号与名称
tmux_conf_theme_window_status_activity_fg="default" # 窗口活动时文字使用默认颜色
tmux_conf_theme_window_status_activity_bg="default" # 窗口活动时背景使用默认颜色
tmux_conf_theme_window_status_activity_attr="underscore" # 窗口活动时为文字加下划线
tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5" # 有铃声提醒时的文字颜色
tmux_conf_theme_window_status_bell_bg="default" # 有铃声提醒时的背景颜色
tmux_conf_theme_window_status_bell_attr="blink,bold" # 铃声提醒时文字闪烁并加粗
tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4" # 上一个窗口的文字颜色
tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2" # 上一个窗口的背景颜色
tmux_conf_theme_window_status_last_attr="none" # 上一个窗口不额外加样式
# ------------------------------------------------------------------------------
# 状态栏分隔符与布局
# ------------------------------------------------------------------------------
tmux_conf_theme_left_separator_main="\uE0B0" # 状态栏左侧主分隔符(Powerline 字体)
tmux_conf_theme_left_separator_sub="\uE0B1" # 状态栏左侧子分隔符
tmux_conf_theme_right_separator_main="\uE0B2" # 状态栏右侧主分隔符
tmux_conf_theme_right_separator_sub="\uE0B3" # 状态栏右侧子分隔符
tmux_conf_theme_status_left=" ❐ #S" # 左侧显示方块与当前会话名
tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}" # 右侧显示状态指示符
tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8" # 左侧文字颜色序列
tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11" # 左侧背景颜色序列
tmux_conf_theme_status_left_attr="bold,none,none" # 左侧各段文字样式(首段加粗)
tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14" # 右侧文字颜色序列
tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17" # 右侧背景颜色序列
tmux_conf_theme_status_right_attr="none,none,bold" # 右侧各段文字样式(最后一段加粗)
# ------------------------------------------------------------------------------
# 状态指示符
# ------------------------------------------------------------------------------
tmux_conf_theme_pairing="⚇" # 指示当前会话被共享
tmux_conf_theme_pairing_fg="none" # 共享指示符沿用默认前景色
tmux_conf_theme_pairing_bg="none" # 共享指示符沿用默认背景色
tmux_conf_theme_pairing_attr="none" # 共享指示符不额外加样式
tmux_conf_theme_prefix="⌨" # 指示前缀键已按下
tmux_conf_theme_prefix_fg="none" # 前缀指示符沿用默认前景色
tmux_conf_theme_prefix_bg="none" # 前缀指示符沿用默认背景色
tmux_conf_theme_prefix_attr="none" # 前缀指示符不额外加样式
tmux_conf_theme_mouse="↗" # 指示鼠标模式开启
tmux_conf_theme_mouse_fg="none" # 鼠标指示符沿用默认前景色
tmux_conf_theme_mouse_bg="none" # 鼠标指示符沿用默认背景色
tmux_conf_theme_mouse_attr="none" # 鼠标指示符不额外加样式
tmux_conf_theme_root="!" # 指示当前身份为 root
tmux_conf_theme_root_fg="none" # root 指示符沿用默认前景色
tmux_conf_theme_root_bg="none" # root 指示符沿用默认背景色
tmux_conf_theme_root_attr="bold,blink" # root 指示符加粗并闪烁,提示谨慎操作
tmux_conf_theme_synchronized="⚏" # 指示面板同步模式开启
tmux_conf_theme_synchronized_fg="none" # 同步指示符沿用默认前景色
tmux_conf_theme_synchronized_bg="none" # 同步指示符沿用默认背景色
tmux_conf_theme_synchronized_attr="none" # 同步指示符不额外加样式
# ------------------------------------------------------------------------------
# 电量显示与时钟
# ------------------------------------------------------------------------------
tmux_conf_battery_bar_symbol_full="◼" # 电量条满格符号
tmux_conf_battery_bar_symbol_empty="◻" # 电量条空格符号
tmux_conf_battery_bar_length="auto" # 电量条长度自动适配
tmux_conf_battery_bar_palette="gradient" # 电量条使用渐变色
tmux_conf_battery_hbar_palette="gradient" # 横向电量条使用渐变色
tmux_conf_battery_vbar_palette="gradient" # 纵向电量条使用渐变色
tmux_conf_battery_status_charging="↑" # 充电状态箭头
tmux_conf_battery_status_discharging="↓" # 放电状态箭头
tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4" # <prefix>+t 时钟颜色
tmux_conf_theme_clock_style="24" # 时钟使用 24 小时制
# ------------------------------------------------------------------------------
# 复制与粘贴
# ------------------------------------------------------------------------------
tmux_conf_copy_to_os_clipboard=true # 复制模式自动同步到系统剪贴板
# ------------------------------------------------------------------------------
# 键盘与鼠标交互
# ------------------------------------------------------------------------------
set -g mouse on # 默认启用鼠标操作
set -g status-keys vi # 状态栏使用 vi 风格键位
set -g mode-keys vi # 复制模式使用 vi 风格键位
# ------------------------------------------------------------------------------
# 插件管理(TPM)
# ------------------------------------------------------------------------------
tmux_conf_update_plugins_on_launch=true # 启动 tmux 时自动更新插件
tmux_conf_update_plugins_on_reload=true # 重新加载配置时自动更新插件
set -g @plugin 'tmux-plugins/tmux-resurrect' # 持久化会话插件
set -g @plugin 'tmux-plugins/tmux-continuum' # 自动保存与恢复会话插件
set -g @plugin 'christoomey/vim-tmux-navigator' # Vim/Tmux 光标联动插件
set -g @plugin 'sainnhe/tmux-fzf' # FZF 方式切换窗口/会话
set -g @continuum-restore 'on' # 启用 tmux-continuum 自动恢复
# ------------------------------------------------------------------------------
# 终端行为与焦点管理
# ------------------------------------------------------------------------------
set -g focus-events on # 面板获得焦点时通知 tmux
set -s focus-events on # 服务器级别同样开启焦点事件
if-shell 'command -v reattach-to-user-namespace >/dev/null 2>&1' 'set-option -g default-command "reattach-to-user-namespace -l $SHELL"' # 在 macOS 中保持系统剪贴板可用
set-option -g status-interval 5 # 每 5 秒刷新一次状态栏
set-option -g automatic-rename on # 自动根据活跃面板的路径重命名窗口
set-option -g automatic-rename-format '#{b:pane_current_path}' # 使用当前面板路径的目录名作为窗口名
set -s extended-keys on # 开启扩展按键支持(处理修饰键组合)
set -ag terminal-overrides ",xterm-256color:RGB" # 明确告知 tmux 当前终端支持 RGB 显示
# ------------------------------------------------------------------------------
# 其他全局设置
# ------------------------------------------------------------------------------
set -g detach-on-destroy off # 销毁当前会话后自动切换到其他活动会话而非退出
# ------------------------------------------------------------------------------
# 自定义按键绑定
# ------------------------------------------------------------------------------
bind-key h select-window -t :- # <prefix>+h 切换到左侧窗口
bind-key l select-window -t :+ # <prefix>+l 切换到右侧窗口