无法理解 Less_termcap 的一行

无法理解 Less_termcap 的一行

这个问题与线

我的 .zshrc 中的行

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

以下似乎意味着

  • \$ 开始表达式
  • “--”表示括号内的所有内容都很重要
  • \E 显然表示应用以下命令
  • [01 似乎是指文件的开头
  • ; 似乎表示在前一个到
  • 31m 似乎是文件的结尾

这个说法仍然令人困惑。某些模式必须与“a begin”和“blinking”匹配。

您如何读这句话?

答案1

这是一个 ANSI 颜色序列。

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

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

尝试

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

维基百科文章了解更多信息。

相关内容