Terminal

額外的字元出現在 less

  • November 12, 2020

less許多非字母數字字元在使用和時顯示為一團糟man。目前,我正在使用zsh,但同樣的問題發生在bashand中sh。該問題也出現在終端仿真器sttermite終端仿真器中。

man grep產生:

損壞的手冊頁

我怎樣才能解決這個問題?

env -i TERM=$TERM PATH=/usr/bin:/bin HOME=/none man grep正確渲染。

由於問題在最小環境中消失,因此它是由環境變數引起的。原來你的LESS_TERMCAP設置。您已將它們設置為以 開頭的序列[。他們缺少最初的轉義字元。

csi=$(printf '\033[')
export LESS_TERMCAP_mb="${csi}1;31m"
…

這些變數在我的~/.profile. 刪除它們解決了這個問題。

export LESS=-R
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"

引用自:https://unix.stackexchange.com/questions/618997