Less
無法理解一行 Less_termcap
這個問題與執行緒有關。
我的 .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 文章。