Цвета на страницах руководства

Цвета на страницах руководства

Когда я смотрю на страницу руководства в моей «консоли» (не 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_*переменным?как это работает.

Окончательный результат

    ss страницы руководства

решение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)

  1. Установите «большинство».

    sudo apt-get install most
    
  2. отредактируйте .bashrc, введите:

    nano ~/.bashrc
    
  3. Добавьте эти строки:

    # color man-pages persistently
    export PAGER='most'
    
  4. Сохранять

    ( Ctrl+ O) -> Enter-> ( Ctrl+ X)

  5. Обновить

    source ~/.bashrc
    
  6. Тест

    man ln
    

Это также работает в xterm.

Связанный контент