GNU屏幕:按下命令字符时如何突出显示状态栏

时间:2012-04-21 17:00:33

标签: gnu-screen

我刚刚开始使用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]状态栏将突出显示。

这会大大降低使用屏幕的认知负担!

1 个答案:

答案 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)'