"less"에 추가 문자가 나타납니다.

"less"에 추가 문자가 나타납니다.

less및 를 사용할 때 영숫자가 아닌 많은 문자가 깨져서 나타납니다 man. 현재 를 사용하고 있는데 에서도 zsh같은 문제가 발생합니다 . 문제는 에뮬레이터 와 터미널 에뮬레이터 에서도 발생합니다 .bashshsttermite

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')"

관련 정보