Tmux状态栏自定义教程:tmux-gruvbox的A/X/Y/Z四区域玩法与10个实用示例
【免费下载链接】tmux-gruvboxGruvbox color scheme for Tmux.项目地址: https://gitcode.com/gh_mirrors/tm/tmux-gruvbox
tmux-gruvbox 是一款为 Tmux 打造的 Gruvbox 复古风状态栏主题,一条配置就能让终端状态栏拥有精致的色块分层效果。它的最大亮点是把状态栏拆成了A / X / Y / Z 四个可自定义区域,你可以随意往每个区域填入日期、时间、主机名、Git 分支等内容,轻松定制出完全属于自己的 Tmux 状态栏。
先认识一下 tmux-gruvbox 主题
tmux-gruvbox 基于 Pavel Pertsev 的 Gruvbox 配色方案,内置 4 套配色主题,默认dark256:
| 主题 | 色深 | 适用场景 |
|---|---|---|
dark | 16-bit 真彩 | 支持 24-bit 颜色的终端(如 Alacritty) |
dark256 | 256 色 | 绝大多数终端,默认值 |
light | 16-bit 真彩 | 浅色界面党 |
light256 | 256 色 | 浅色 + 兼容性兼顾 |
主题文件按「调色板 + 主题」分层组织,例如深色主题由src/palette_gruvbox_dark.sh定义颜色、由src/theme_gruvbox_dark.sh组装状态栏样式,逻辑集中在入口文件src/gruvbox-main.sh中,想深入了解实现细节可以从这两个文件入手。
一键安装:两种最快方式
方式一:通过 TPM 插件管理器安装(推荐)
在~/.tmux.conf的插件列表中加入 tmux-gruvbox,然后按prefix + I安装即可:
# ~/.tmux.conf set -g @plugin 'tmux-plugins/tpm' # 必装 set -g @plugin 'egel/tmux-gruvbox' set -g @tmux-gruvbox 'dark' # dark / dark256 / light / light256方式二:手动克隆安装
cd ~/projects/ git clone https://gitcode.com/gh_mirrors/tm/tmux-gruvbox然后在~/.tmux.conf顶部加入:
run ~/projects/tmux-gruvbox/gruvbox-tpm.tmux set -g @tmux-gruvbox 'dark'💡 主题配置务必放在其他插件之前,否则外部插件的状态栏内容可能无法正确显示。
A/X/Y/Z 四区域:状态栏布局全解析
tmux-gruvbox v2 把状态栏划分为四个"插槽",用 4 个配置项控制,默认值在src/gruvbox-main.sh中定义:
| 区域 | 配置项 | 默认值 | 含义 |
|---|---|---|---|
| A(左侧) | @tmux-gruvbox-left-status-a | #S | 会话名 |
| X(右侧第1段) | @tmux-gruvbox-right-status-x | %Y-%m-%d | 当前日期 |
| Y(右侧第2段) | @tmux-gruvbox-right-status-y | %H:%M | 当前时间 |
| Z(右侧第3段) | @tmux-gruvbox-right-status-z | #h | 主机名 |
这些值最终会拼进 Tmux 原生的status-left/status-right,拼装在src/theme_gruvbox_dark.sh与src/theme_gruvbox_light.sh中完成,并自动套用 Gruvbox 色块分层样式——所以你不需要写任何#[bg=...]颜色代码,只管填内容。
支持的内容格式:
- Tmux 格式变量:
#S(会话名)、#h(主机名)、#I(窗口编号)、#W(窗口名)、#{...}(任意 tmux 格式) - 时间格式符:
%Y年、%m月、%d日、%H24小时、%M分、%I12小时、%pAM/PM - shell 命令:
#(命令),比如显示 Git 分支、电池电量
10个实用示例:把状态栏玩出花样
以下示例均只需在~/.tmux.conf中添加对应一行配置,修改后执行tmux source-file ~/.tmux.conf生效。
1️⃣ 日期改美式格式(X 区域)
set -g @tmux-gruvbox-right-status-x '%m/%d/%Y' # 例如 01/31/20242️⃣ 日期改欧式格式(X 区域)
set -g @tmux-gruvbox-right-status-x '%d.%m.%Y' # 例如 30.01.20243️⃣ 时间显示秒数(Y 区域)
set -g @tmux-gruvbox-right-status-y '%H:%M:%S'4️⃣ 12 小时制 + 上下午标识(Y 区域)
set -g @tmux-gruvbox-right-status-y '%I:%M %p' # 例如 09:54 PM5️⃣ 日期带时区,跨时区协作友好(Y 区域)
set -g @tmux-gruvbox-right-status-y '%H:%M %z' # 例如 09:54 +08006️⃣ X 区域显示中文日期
set -g @tmux-gruvbox-right-status-x '%Y年%m月%d日' # 例如 2026年08月22日7️⃣ Z 区域附加 Vim 模式提示
配合支持tmux_mode_indicator的插件(如 tmux-resurrect 生态),编辑模式一目了然:
set -g @tmux-gruvbox-right-status-z '#h #{tmux_mode_indicator}'8️⃣ A 区域显示 Git 分支,写代码时最实用
set -g @tmux-gruvbox-left-status-a '#(git branch --show-current 2>/dev/null) #S'9️⃣ Z 区域显示笔记本电池电量(Linux)
set -g @tmux-gruvbox-right-status-z '#(cat /sys/class/power_supply/BAT1/capacity)%'🔟 透明状态栏,沉浸式体验
需要 Tmux ≥ 3.2(实验性功能),状态栏背景与终端融为一体:
set -g @tmux-gruvbox-statusbar-alpha 'true'⚠️ 小贴士:如果日期格式显示异常,尝试将单个
%写成双百分号%%(如%%m/%%d/%%Y),这是部分终端的常见怪癖。
常见问题速查
Q:改完配置不生效?重新加载配置:tmux source-file ~/.tmux.conf,或直接tmux kill-server后重启。
Q:v1 老用户如何迁移?v1 的dark/light在 v2 中改名为dark256/light256,透明主题改为「基础主题 +statusbar-alpha」组合,完整对照表见迁移文档docs/migration-guide-from-v1-to-v2.md,更新日志见CHANGELOG.md。
Q:颜色和我终端里的不一样?各终端模拟器对颜色的渲染略有差异,dark/light(16-bit)主题需要终端支持 24-bit True Color,否则建议改用dark256/light256。
小结
tmux-gruvbox 用「4 套主题 × 4 个区域」的极简设计,把 Tmux 状态栏自定义门槛降到了最低:
- 安装只需一行插件配置,支持 TPM 与手动两种方式
- A/X/Y/Z 四个区域覆盖会话名、日期、时间、主机名等常见需求
- 支持 Tmux 格式变量、时间格式符和 shell 命令,扩展空间几乎无限
现在就打开~/.tmux.conf,从上面的 10 个示例里挑一个动手改一改,几分钟就能拥有一个独一无二的 Tmux 状态栏 🚀
【免费下载链接】tmux-gruvboxGruvbox color scheme for Tmux.项目地址: https://gitcode.com/gh_mirrors/tm/tmux-gruvbox
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考