我刚刚开始使用GNU屏幕的hardstatus功能来获取终端底部的状态栏。这在运行嵌套屏幕进程时特别有用,因为我获得了嵌套状态栏,这使得我可以清楚地按下命令键访问特定屏幕实例的次数。
例如
tom@stilton:~% ls
a/ b/ c/ d
.
.
.
[stilton] [1* zsh 2$ mutt]
[cheddar] [1$ emacs 2* ssh]
*表示选择了哪个窗口。这清楚地说明我在cheddar上运行了两个窗口:emacs和ssh。在后者我正在stilton上运行另一个带有两个窗口的屏幕会话:zsh和mutt。要在stilton上切换到mutt,我需要做“C-a a 2”。
这非常有用,但可能更多有用。
我的问题:当按下命令键时,我可以在状态栏中指出这一点,例如突出显示它吗?
这意味着当按下“C-a”时,[cheddar]状态栏将突出显示,我知道命令将被发送到该屏幕实例。如果我要进一步按“a”将文字“Ca”发送到嵌套屏幕进程,[cheddar]状态栏将丢失其高亮显示,[stilton]状态栏将突出显示。
这会大大降低使用屏幕的认知负担!
答案 0 :(得分:2)
在git版本中,该功能最近已提交。
http://git.savannah.gnu.org/cgit/screen.git/commit/?id=db59704c1297c056cec0cc9305ae92e44a15bf33
这个新的字符串转义字符%E
的使用方式与%F
标题和hardstatus的使用方式相同。
在以下示例中,当您按C-a时,主机名%H
的前景色会变为黄色
hardstatus alwayslastline '%m/%d %02c:%s %?%E%{= .Y}%:%{= .g}%?%H%{-} %L=%-w%45L>%{= g.}%n %t%{-}%+w %-17<%=%{= .y}(%l)'