Может быть ряд проблем.
Видя, как вы используете zsh
, попробуйте вставить это в ~/.zshrc
:
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'
export LESS=-r
Затем откройте новое окно терминала и попробуйте запустить
man ls
если это не работает, выполните каждое из следующих действий, чтобы выяснить, в чем проблема:
Номер 1
typeset -p LESS_TERMCAP_md | cat -v
должен напечатать
typeset -x LESS_TERMCAP_md="^[[01;31m"
а также
typeset -p LESS
должен напечатать
typeset -x LESS="-r"
если нет, вы помещаете export LESS
вещи в неправильный файл.
Номер 2
echo "${LESS_TERMCAP_md}red${LESS_TERMCAP_me}"
должен напечатать
red
в красном цвете. Если это не так, значит, что-то не так с настройками вашего терминала. Проверьте настройки терминала (например ~/.Xresources
) или попробуйте запустить gnome-terminal
или xterm
и посмотрите, работает ли это.
Номер 3
echo -E "a^Ha" | LESS= less -r
( ^H
необходимо ввести, нажав Ctrl+, Vзатем Ctrl+ H)
должен напечатать
a
в красном. Если это не так, пожалуйста, запустите эти
type less
less --version
и вставьте вывод обратно в ваш вопрос.
Номер 4
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | head -n 5 | cat -v
должен напечатать
LS(1) User Commands LS(1)
N^HNA^HAM^HME^HE
(обратите внимание, ^H
как в шаге № 3)
если он печатает что-то вроде:
LS(1) User Commands LS(1)
^[[1mNAME^[[0m
вместо этого вам нужно будет найти способ отключить «escape-последовательности sgr». Проще всего попробовать добавляет export GROFF_NO_SGR=1
к .zshrc
, но есть и другие способы фиксации этого.
Номер 5
bzcat /usr/share/man/man1/ls.1.bz2 | \
/bin/sh /usr/bin/nroff -mandoc -Tutf8 | less
должен отображать ls
справочную страницу с цветами.
man ls
теперь должен работать!