每次在控制台中工作时,我都会使用 GNU Screen。我有一个带有多个设置的自定义 .screenrc 文件。除其他外,我的设置在底部显示“标签”:
hardstatus alwayslastline
hardstatus string "%{= g} %{= w}%-w%{=r}%n %t%{-}%+W"
它运作良好,但我想在选项卡中添加一些符号,以显示先前处于活动状态的选项卡。如何才能做到这一点?
每次在控制台中工作时,我都会使用 GNU Screen。我有一个带有多个设置的自定义 .screenrc 文件。除其他外,我的设置在底部显示“标签”:
hardstatus alwayslastline
hardstatus string "%{= g} %{= w}%-w%{=r}%n %t%{-}%+W"
它运作良好,但我想在选项卡中添加一些符号,以显示先前处于活动状态的选项卡。如何才能做到这一点?
您可以使用可以使用以下字符串:
hardstatus string "%{= g} %{= w}%-Lw%{=r}%n%f* %t%{-}%+LW"
具有焦点的窗口将用符号“*”标记,前一个窗口用“-”标记。
唉,评论只支持一点格式化能力,所以我创造了一个新的答案。
1)每个标签号后面都有一些不需要的'$'符号
我hardstatus string "%{= g} %{= w}%-Lw%{=r}%n%f* %t%{-}%+LW"
看不到任何'$':
2) 符号 '' 和 '-' 使制表符变宽一个符号,因此制表符会稍微跳跃。我认为如果没有''和'-'符号,可以通过放置空格来解决。
唉,除了选中的所有选项卡都没有配置 - 如果%w
(所有窗口包括当前)或%W
(除了当前的所有窗口)在 hardstatus 字符串中使用,它们只会显示。这些转义符可以在前面加上-
或+
(以显示当前窗口之前或之后的窗口)和L
(以显示窗口的标志)。无法配置行的这些部分的空格、格式或内容 - 它们只有选项卡的编号、标题和可选的带有固定缩进的标志。
3) 不需要符号“*”,因为当前选项卡也有颜色选择。
当然,您可以用两个空格替换*
hardstatus%f
字符串中的空格(对不起,奇怪的句子,但 SO 文本引擎会奇怪地吃反引号中的空格) - 但不调整非活动和非最后一个选项卡的选项卡编号后的空格,它们会继续“跳”。