GNU Screen - 字符串转义

GNU Screen - 字符串转义

有人能解释一下或给我指出关于 中使用的“字符串转义”的好教程吗~/screenrc?我正在玩$PS1~/.screenrc。虽然$PS1看起来很清楚(颜色、条件、转义字符……)但“字符串转义”是一个很大的未知数。我试着读了一下,info screen "String Escapes"但我唯一得到的是字符串使用转义来做特殊用途,例如%H主机名、%D星期名等。现在我正在使用我从互联网上找到的以下行

hardstatus alwayslastline '%{= kG}[ %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

这个硬状态看起来像:

[ (0*$Dropbox)  1-$ ~  2$ init.d  3$                  ][2013-09-16 17:57 ]

我试图'[]'在非活动窗口标题周围添加以下内容:

[ (0*$Dropbox)  [1-$ ~]  [2$ init.d]  [3$ ~]          ][2013-09-16 17:57 ] 

但没有运气。有人能解释一下这个字符串中发生了什么吗?

'%{= kG}[ %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

谢谢

答案1

您应该参考字符串转义的一部分屏幕手册. 那么解密你的硬状态字符串就不会给你带来什么复杂的问题了。

'%{= kG}[ %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
 \______/ \____/\/\__/  \__/ \__/\_____________/\___/\__________/  \_/\____/\__________/ \____/ \___/
    1       2    3  4     5    6        7         5       8         9   10       11        12     13
  1. 在黑色背景上设置亮绿色文本以方便打开[
  2. 在黑色背景上设置白色文字,
  3. %?仅当括起来的 % 转义符扩展为非空字符串时,才会显示直到下一个文本,
  4. 显示带标志的当前窗口,
  5. 将左括号和右括号的文本设置为红色,
  6. 设置亮白色文字,
  7. 显示窗口编号、标志、标题以及其他用户(如果有)
  8. 如果有其他窗口,则以白色文本显示它们,
  9. 水平方向填充白色空间,
  10. 显示绿色][
  11. 用亮蓝色显示年月日,
  12. 明亮的白色时光,
  13. 最后]以绿色收盘。

相关内容