64

状态栏是怎么自定义的?我注意到在这个 youtube 视频中(3:05 - 下图),状态栏看起来与我在 Mac OS X 上安装 tmux 后看到的默认状态栏非常不同。

特别是,我喜欢状态栏中间显示当前程序而左侧仅显示当前会话的名称。相比之下,我的设置显示了所有会话的名称,并且不显示当前应用程序(对于当前聚焦的窗格)。

如果有人可以向我展示可以执行此操作的示例配置或告诉我在哪里可以找到自定义规则,那就太好了!谢谢!

在此处输入图像描述

更新:如果有人好奇,我可以自定义一个类似于视频中看到的状态栏(小调整),如果你想看一个例子,你可以在我的 github 上找到我的配置文件。

4

4 回答 4

80

man该页面对所有各种选项都有非常详细的描述(状态栏是高度可配置的)。最好的办法是通读man tmux并特别注意那些以 . 开头的选项status-

因此,例如,status-bg red将设置栏的背景颜色。

栏的三个组成部分,左右部分和中间的窗口列表,都可以根据您的喜好进行配置。status-left并且status-right,除了拥有自己的变量(比如#S列出会话名称)之外,还可以调用自定义脚本来显示,例如系统信息,如平均负载或电池时间。

根据当前在其中运行的内容重命名窗口或窗格的选项是automatic-rename. 您可以使用以下方法全局设置或禁用它:

setw -g automatic-rename [on | off]

构建自己的状态栏最直接的方法是从普通状态栏开始,然后逐步添加更改,随时重新加载配置。1

您可能还想在 github 或 bitbucket 上查看其他人的 conf 文件以提供一些灵感。你可以在这里看到我的2



1您可以通过在您的.tmux.conf

bind R source-file ~/.tmux.conf \; display-message "Config reloaded..."

Ctrlb然后,您可以使用,测试您的新功能Shiftrtmux如果您错误配置了选项,将打印一条有用的错误消息 - 包括有问题的代码段的行号。

2注意:我根据我是在 X 中还是在控制台中调用不同的状态栏- 我发现这非常有用。

于 2012-03-09T07:21:28.753 回答
29

我使用tmux-powerline来完全打开我的 tmux 状态栏。当您键入 tmux 命令时,我正在谷歌搜索更改为状态栏背景的方法。当我偶然发现这篇文章时,我想为了完整起见我应该提到它。

更新:此项目处于维护模式,未来可能不会添加任何功能。tmux-powerline 与所有其他电力线项目一起被新的统一电力线取代。然而,这个项目仍然有效,可以作为非 python 用户的轻量级替代品。

于 2012-11-01T21:15:02.607 回答
5

我今天一直在玩 tmux,尝试在这里和那里进行一些自定义,设法使用 ruby​​ 脚本在状态上显示电池信息。

从http://natedickson.com/blog/2013/04/30/battery-status-in-tmux/复制 ruby​​ 脚本并将其另存为:

 battinfo.rb in ~/bin

要使其可执行,请确保运行:

chmod +x ~/bin/battinfo.rb

编辑你的 ~/.tmux.config 并包含这一行

set -g status-right "#[fg=colour155]#(pmset -g batt | ~/bin/battinfo.rb) | #[fg=colour45]%d %b %R"
于 2014-09-28T10:26:50.363 回答
1

Do C-b:show它将显示您当前的所有设置。/greennnn会找到你哪些属性被设置为绿色,默认。做C-b:set window-status-bg cyan底部栏应该改变颜色。

列出 tmux 的可用颜色

在我看来,你可以通过在实时会话中实际设置的标题和颜色来更容易地分辨它们:show,而不是通过页面搜索。man当你有时间的时候,这是一个写得很好的man页面。

如果您不喜欢其中一项更改并且您不记得它最初是如何设置的,您可以打开一个新的 tmux 会话。~/.tmux.conf使用类似的行更改设置以进行良好的编辑set window-status-bg -g cyan。这是我的:https ://gist.github.com/9083598

于 2014-02-19T00:42:47.857 回答