Less

無法理解一行 Less_termcap

  • July 2, 2009

這個問題與執行緒有關。

我的 .zshrc 中的行

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

以下似乎意味著

  • $開始表達式
  • ’ – ’ 表示括號中的所有內容都很重要
  • \E 顯然說應用以下命令
  • [01 似乎是指文件的開頭
  • ; 似乎表明在前一個開始之間
  • 31m 這似乎是文件的結尾

該聲明仍然令人困惑。某些模式必須匹配“a begin”和“blinking”。

你怎麼讀這條線?

這是一個 ANSI 顏色序列。

  • $’…’ 表示解釋反斜杠轉義字元(如 \e 或 \n)(參見 bash 手冊頁的“引用”部分)
  • \E 是轉義字元(ASCII 27 十進制)
  • [ 只是一個方括號
  • 所以 Esc-[ 開始顏色序列
  • 01是“亮”
  • ; 劃定顏色
  • 31是“紅色”
  • m 是顏色序列的結尾

序列 Esc-[ 0 m 重置為預設顏色。

嘗試

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

有關更多資訊,請參閱Wikipedia 文章。

引用自:https://serverfault.com/questions/35187