2012-04-21 51 views
0

我剛開始使用GNU屏幕的hardstatus功能來獲取終端底部的狀態欄。這在運行嵌套的屏幕進程時特別有用,因爲我獲得了嵌套的狀態欄,這使得我必須清除多少次按命令鍵才能訪問特定的屏幕實例。GNU屏幕:如何在按下命令字符時突出顯示狀態欄

例如

[email protected]:~% ls 
a/ b/ c/ d 
. 
. 
. 
[stilton] [1* zsh 2$ mutt] 
[cheddar] [1$ emacs 2* ssh] 

*表示選擇了哪個窗口。這表明我在兩個窗口上運行切達爾屏幕:emacs和ssh。在後者中,我使用兩個窗口在stilton上運行另一個屏幕會話:zsh和mutt。要切換到stilton上的mutt,我需要做「C-a a 2」。

這是非常有用的,但可能是更多有用。

我的問題:當按下命令鍵時,我可以在狀態欄中指出這一點,例如突出顯示它嗎?

這意味着當「C-a」被按下時,[cheddar]狀態欄會被突出顯示,我會知道命令將被髮送到該屏幕實例。如果我進一步按「a」發送一個文字「C-a」到嵌套的屏幕進程,[cheddar]狀態欄將失去其高亮顯示,並且[stilton]狀態欄將突出顯示。

這會大大降低使用屏幕的認知負擔!

回答

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)' 
+0

太棒了!我很高興聽到它。感謝您的回答。 – 2012-04-22 00:16:53