0

我刚刚开始使用 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,我需要执行“Ca a 2”。

这非常有用,但可能更有用。

我的问题:按下命令键时,我可以在状态栏中指出这一点,例如通过突出显示它吗?

这意味着当按下“Ca”时,[cheddar] 状态栏将被突出显示,我会知道命令将被发送到该屏幕实例。如果我要进一步按“a”将文字“Ca”发送到嵌套屏幕进程,[cheddar] 状态栏将失去其突出显示,而 [stilton] 状态栏将突出显示。

这将大大减少使用屏幕的认知负担!

4

1 回答 1

2

在 git 版本中,该功能是最近提交的。

http://git.savannah.gnu.org/cgit/screen.git/commit/?id=db59704c1297c056cec0cc9305ae92e44a15bf33

这个新的字符串转义字符%E可以以与%F 标题和硬状态相同的方式使用。

在以下示例中,当您按 Ca 时,主机名的前景色%H变为黄色

hardstatus alwayslastline '%m/%d %02c:%s %?%E%{= .Y}%:%{= .g}%?%H%{-} %L=%-w%45L>%{= g.}%n %t%{-}%+w %-17<%=%{= .y}(%l)'
于 2012-04-21T20:38:46.583 回答