我在.screenrc中有这个
caption always "%{= Kw} [%0c] %-Lw%{= KW}[%50>%n%f* %t]%{= Kw}%+Lw%=| %l | ${FULLHOST}"
它通常显示如下:
[01:06] 0$vim 1$top 2-$tail [3$* ~] | 0.26 0.54 0.36 | machine.domain.com
但是,当我打开许多窗口时,右边的数据被推离边缘并被截断:
[01:07] 0$vim 1$top 2$tail 3$~ 4$~ 5$~ 6-$~ [7$* ~] | 0.21 0.46 0.34 | mac
如何更改caption命令,以便在必要时截断窗口列表,而不是从边缘推送正确的信息?如果始终显示活动窗口,则奖励积分.
解决方法
另一种解决方案,我目前正在使用.而不是原始行中的’%=’,或bender中的’%-30 ='(与-30%(又名70%)标记对齐),我使用’%-043 ='(对齐)到-43字符标记).
但是当然这和bender一样有问题,我需要的数量来抵消每台服务器的变化.解决方案是使用如下命令编辑每个服务器的.screenrc:
但是当然这和bender一样有问题,我需要的数量来抵消每台服务器的变化.解决方案是使用如下命令编辑每个服务器的.screenrc:
sed -i "s/043/0$(( 19 + $#FULLHOST ))/" ~/.screenrc
由于我的.screenrc是由我的shell的.rc文件生成的,如果不存在,我可以在执行此操作后立即运行此命令,并以每个服务器的正确偏移对齐结束.不优雅,但它的工作原理!
剩下的问题,我真的不在乎解决的问题:
>窗口列表(以及左侧的任何内容,包括时间)现在从左侧推出.我通过移除时钟解决了这个问题.>如果机器的主机名发生变化,我需要重新生成.screenrc,其中包括删除它然后启动一个新的shell.