无法理解Less_termcap的一行

这个问题与线程有关 。

在我的.zshrc中的行

export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking 

以下似乎意思

  • \ $开始expression式
  • ' – '表示括号内的所有内容都很重要
  • E显然说,应用下面的命令
  • [01好像是指文件的开始
  • ; 似乎表明在之前的开始之间
  • 31米这似乎是一个文件的结尾

声明仍然令人困惑。 有些模式必须匹配“开始”和“闪烁”。

你如何阅读该行?

这是ANSI颜色序列。

  • $'…'表示解释反斜线转义的字符(如\ e或\ n)(请参阅bash手册页的“引用”部分)
  • \ E是转义字符(十进制ASCII 27十进制)
  • [只是一个方括号
  • 所以Esc- [开始颜色序列
  • 01是“明亮”
  • ; 划定颜色
  • 31是“红”
  • m是颜色序列的结尾

序列Esc- [0 m重设为默认颜色。

尝试

  echo $'\E[01;31m'Hello$'\E[0m' Masi 

有关更多信息,请参阅此维基百科文章。