额外的字符出现在“less”中

额外的字符出现在“less”中

less使用和时,许多非字母数字字符显示为混乱man。目前,我正在使用,zsh但同样的问题发生在bash和 中sh。该问题也出现在模拟器sttermite终端模拟器中。

man grep产生:

损坏的手册页

我怎样才能解决这个问题?

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

答案1

由于问题在最小环境下消失,因此它是由环境变量引起的。它原来是你的LESS_TERMCAP设置。您已将它们设置为以 开头的序列[。他们缺少最初的转义字符。

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

答案2

这些变量在我的~/.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')"

相关内容