强制更新 tmux 状态栏

强制更新 tmux 状态栏

我想在tmux状态行中显示当前时间。我做到了:

$ tmux set status-right '"#22T" %H:%M:%S %d-%b-%y'

这确实会将状态行中的时间更改为包含秒数。但是,状态行仅在“发生某些事情”时才会更新:我切换窗口、切换窗格等。如何配置 tmux 每秒更新一次状态行,以便我可以拥有一个运行的时钟?

答案1

您还可以使用

tmux refresh-client -S

手动刷新状态栏,而不是依赖刷新间隔。我将其用作事件驱动的更新方法,例如在切换窗格时。在我的 .tmux.conf 中,我更改了以下内容:

bind -r k select-pane -U
bind -r j select-pane -D
bind -r l select-pane -R
bind -r h select-pane -L

到:

bind -r k select-pane -U\; refresh-client -S
bind -r j select-pane -D\; refresh-client -S
bind -r l select-pane -R\; refresh-client -S
bind -r h select-pane -L\; refresh-client -S

ps:为了避免产生差异,我目前正在使用 tmux 1.8。

答案2

设置状态间隔,使其每秒更新一次:

tmux set status-interval 1

相关内容