首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tmux状态行:将status-left用于window-list,将中间部分用于其他内容?

tmux状态行:将status-left用于window-list,将中间部分用于其他内容?
EN

Stack Overflow用户
提问于 2014-09-03 11:01:59
回答 1查看 4.9K关注 0票数 2

我正在从GNU Screen过渡到tmux,并尝试配置我的tmux状态行来模仿我在Screen中内置的字幕。

我的屏幕标题左边是窗口列表,hostname和loadavg大致居中,右边是会话名称:

窗口列表保持左侧,会话名称保持右侧,中间部分大致居中,但如果窗口列表较长,则会微移以容纳窗口列表……

到目前为止,我能用tmux得到的最接近的结果是:

代码语言:javascript
复制
set-window-option -g window-status-format ' #I #W'
set-window-option -g window-status-current-format ' #I #W'
set -g status-justify left
set -g status-left ''
set -g status-right '#h :: #(sysctl vm.loadavg | cut -d " " -f 3-5) #S '

让步:

有没有办法在status-left部分显示窗口列表,并按我想要的方式使用中间部分?

EN

回答 1

Stack Overflow用户

发布于 2014-09-03 22:09:13

tmux中正确设置这一点有点棘手。但你想要的是通过以下方式实现的:

代码语言:javascript
复制
set -g status-right '#S'
# set-option -g status-left-length 30
set -g status-left '#I #W'
set-option -g status-justify centre


set-window-option -g window-status-current-format '#h :: #(sysctl vm.loadavg | cut -d " " -f 3-5)'
# Disable showing the default window list component.
set-window-option -g window-status-format '#h :: #(sysctl vm.loadavg | cut -d " " -f 3-5)'

这将在中间部分为您打开的每个窗口提供平均负载和主机名。如果你只想让它出现一次,而不是每一个新窗口都出现一次,那么你必须将最后一行改为行:

代码语言:javascript
复制
`set-window-option -g window-status-current-format '#h :: #(sysctl vm.loadavg | cut -d " " -f 3-5)'`

代码语言:javascript
复制
 set `set-window-option -g window-status-format ''`

让我对此稍加说明。window-status-current-formatwindow-status-format行允许您更改状态行的window部分。但是你不需要使用窗口变量,你也可以使用#h或者其他任何你想要的东西。window-status-current-formatwindow-status-format之间的区别在于,前者允许您指定当所讨论的窗口是当前窗口时显示的内容,而后者则不是。我更喜欢将两者都设置为相同的值。一旦你弄清楚了这一部分,你就可以很容易地格式化你的状态行的左右部分。请注意,如果您没有设置window-current-status-formatwindow-status-format,那么tmux将显示其默认窗口显示选项。因此,即使您只想去掉中间部分,因为它会干扰您的其他设置,您也需要将两者都设置为''man tmux也非常有用!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25635587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档