
Когда я смотрю на страницу руководства в моей «консоли» (не xterm
), я вижу некоторую окраску, но я не получаю этого в моих xterm
(например konsole
, ). Есть ли способ включить это? Надеюсь, это довольно простое решение?
решение1
Вам необходимо использоватьtermcap(5)
особенность. Страница руководства на некоторых Unix-системах говорит, что этот инструмент устарел и использовать егоterminfo
, но он все еще доступен надругие(и terminfo
это сложнее).
Что еще более важно, less
использует termcap
.
Установка цветов дляless
Я делаю следующее, чтобы less
и man
(который использует less
) имели цвет:
$ cat ~/.LESS_TERMCAP
export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan
export LESS_TERMCAP_me=$(tput sgr0)
export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4) # yellow on blue
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white
export LESS_TERMCAP_ue=$(tput rmul; tput sgr0)
export LESS_TERMCAP_mr=$(tput rev)
export LESS_TERMCAP_mh=$(tput dim)
export LESS_TERMCAP_ZN=$(tput ssubm)
export LESS_TERMCAP_ZV=$(tput rsubm)
export LESS_TERMCAP_ZO=$(tput ssupm)
export LESS_TERMCAP_ZW=$(tput rsupm)
export GROFF_NO_SGR=1 # For Konsole and Gnome-terminal
И затем в моем ~/.bashrc
, я делаю это:
# Get color support for 'less'
export LESS="--RAW-CONTROL-CHARS"
# Use colors for less, man, etc.
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP
ПРИМЕЧАНИЕ:ВидетьДокументация по LESS_TERMCAP_*
переменным?как это работает.
Окончательный результат
решение2
Подчеркивания по умолчанию режут мне глаза. Эта настройка значительно улучшает man
чтение страницы:
Добавьте следующее в ваш `~.bashrc':
# Have less display colours
# from: https://wiki.archlinux.org/index.php/Color_output_in_console#man
export LESS_TERMCAP_mb=$'\e[1;31m' # begin bold
export LESS_TERMCAP_md=$'\e[1;33m' # begin blink
export LESS_TERMCAP_so=$'\e[01;44;37m' # begin reverse video
export LESS_TERMCAP_us=$'\e[01;37m' # begin underline
export LESS_TERMCAP_me=$'\e[0m' # reset bold/blink
export LESS_TERMCAP_se=$'\e[0m' # reset reverse video
export LESS_TERMCAP_ue=$'\e[0m' # reset underline
export GROFF_NO_SGR=1 # for konsole and gnome-terminal
Для победы сочетайте сexport MANPAGER='less -s -M +Gg'
(источник)для отображения вашего процента в документе.
решение3
Эту проблему можно решить, используя другой пейджер, например most
. man
фактически будет использовать программу, указанную в PAGER
переменной окружения. Изчеловек(1)Страница руководства:
MANPAGER, ПЕЙДЖЕР
Если задано $MANPAGER или $PAGER ($MANPAGER используется в качестве предпочтения), его значение используется как имя программы, используемой для отображения страницы руководства. По умолчанию используется pager -s.
Значение может быть простым именем команды или командой с аргументами и может использовать кавычки оболочки (обратные косые черты, одинарные кавычки или двойные кавычки).
Он не может использовать каналы для соединения нескольких команд; если вам это нужно, используйте скрипт-оболочку, который может принимать файл для отображения либо в качестве аргумента, либо в качестве стандартного ввода.
Если most
в вашей системе установлено, попробуйте сделать следующее перед запуском man
:
export PAGER=most
решение4
Сохраняйте «большинство» постоянно
Открыть терминал ( Ctrl+ Alt+ T)
Установите «большинство».
sudo apt-get install most
отредактируйте .bashrc, введите:
nano ~/.bashrc
Добавьте эти строки:
# color man-pages persistently export PAGER='most'
Сохранять
( Ctrl+ O) -> Enter-> ( Ctrl+ X)
Обновить
source ~/.bashrc
Тест
man ln
Это также работает в xterm.