Подсветка синтаксиса man-страниц в Linux или как задать цвет в редакторе less

Большое количество времени каждый системный администратор linux-системы проводит в консоли, изучая man-страницы и редактируя конфигурационные файлы. Чтобы чуть-чуть облегчить себе жизнь, системный администратор может достаточно легко подсветить синтаксис man-страниц. Это придаст более эстетический вид консоли и облегчит восприятие информации.

По умолчанию в редакторе less, для легкого восприятия информации, разработчики применили разные стили вывода текста: полужирный, подчеркнутый, выделенный (присваивается служебной информации) и мерцающий. Все они выводятся на экран одним цветом — белым. Правильнее, с точки зрения быстроты восприятия текста, использовать для каждого стиля свой цвет.

Все цветовые изменения вносятся в конфигурационный файл используемой оболочки bash или shell:

  • для оболочки bash: ~/.bashrc
  • для оболочки shell: ~/.$SHELLrc

Большинство дистрибутивов Linux использует оболочку bash, конфигурационный файл которой имеет путь /home/имя_пользователя/.bashrc. Можно использовать укороченный путь к конфигу ~/.bashrc. Данные о цветовом отображении рекомендуется вносить в конец файла.

  • Чтобы задать цвет всем элементам текста, использующим полужирный стиль, нужно в конце конфигурационного файла добавить:

    export LESS_TERMCAP_md=$'выбранный_цвет'
    export LESS_TERMCAP_me=$'\033[0m'

  • Цвет для подчеркнутого стиля:
    export LESS_TERMCAP_us=$'выбранный_цвет'
    export LESS_TERMCAP_ue=$'\033[0m'
  • Цвет для служебной информации:
    export LESS_TERMCAP_so=$'выбранный_цвет'
    export LESS_TERMCAP_se=$'\033[0m'
  • Цвет для мерцающего стиля:
    export LESS_TERMCAP_mb=$'выбранный_цвет'
    export LESS_TERMCAP_me=$'\033[0m'
Цвета могут принимать значения:
Светло-серый\033[0;37m
Серый\033[1;30m
Черный\033[0;30m
Красный\033[0;31m
Светло-красный\033[1;31m
Зеленый\033[0;32m
Светло-зеленый\033[1;32m
Коричневый\033[0;33m
Желтый\033[1;33m
Синий\033[0;34m
Светло-синий\033[1;34m
Сиреневый\033[0;35m
Светло-сиреневый\033[1;35m
Голубой\033[0;36m
Светло-голубой\033[1;36m
Белый\033[0m

Изменение цвета сводится к простой последовательности действий:

  1. Открываем для редактирования конфигурационный файл (в примере используется оболочка bash):
    # nano ~/.bashrc
  2. К концу файла добавляем строку:
    export LESS_TERMCAP_md=$'\033[0;31m'
    export LESS_TERMCAP_me=$'\033[0m'
  3. Сохраняя, закрываем конфигурационный файл и делаем релогин.

Готовые цветовые схемы


Далее приведены готовые цветовые схемы, для добавления которых нужно просто исполнить приведенный код рядом код.

  1. Самая распространенная в Internet`е цветовая схема:
    Подсветка синтаксиса man-страниц в Linux или как задать цвет в редакторе less
    export LESS_TERMCAP_mb=$'\033[01;31m'
    export LESS_TERMCAP_md=$'\033[01;31m'
    export LESS_TERMCAP_me=$'\033[0m'
    export LESS_TERMCAP_se=$'\033[0m'
    export LESS_TERMCAP_so=$'\033[01;44;33m'
    export LESS_TERMCAP_ue=$'\033[0m'
    export LESS_TERMCAP_us=$'\033[01;32m'
  2. Зелено-голубая цветовая схема:
    Подсветка синтаксиса man-страниц в Linux или как задать цвет в редакторе less
    export LESS_TERMCAP_mb=$'\033[01;36m'
    export LESS_TERMCAP_md=$'\033[01;32m'
    export LESS_TERMCAP_me=$'\033[0m'
    export LESS_TERMCAP_mu=$'\033[01;37m'
    export LESS_TERMCAP_se=$'\033[0m'
    export LESS_TERMCAP_so=$'\033[01;44;33m'
    export LESS_TERMCAP_ue=$'\033[0m'
    export LESS_TERMCAP_us=$'\033[01;36m'
  3. Сине-сереневая цветовая схема:
    Подсветка синтаксиса man-страниц в Linux или как задать цвет в редакторе less
    export LESS_TERMCAP_mb=$'\033[01;31m'
    export LESS_TERMCAP_md=$'\033[01;38;5;74m'
    export LESS_TERMCAP_me=$'\033[0m'
    export LESS_TERMCAP_se=$'\033[0m'
    export LESS_TERMCAP_so=$'\033[38;5;246m'
    export LESS_TERMCAP_ue=$'\033[0m'
    export LESS_TERMCAP_us=$'\033[04;38;5;146m'
  4. Зелено-сереневая цветовая схема:
    Подсветка синтаксиса man-страниц в Linux или как задать цвет в редакторе less
    export LESS_TERMCAP_md=$'\033[1;32m'
    export LESS_TERMCAP_me=$'\033[0m'
    export LESS_TERMCAP_us=$'\033[0;35m'
    export LESS_TERMCAP_ue=$'\033[0m'
    export LESS_TERMCAP_mb=$'\033[1;33m'
    export LESS_TERMCAP_so=$'\033[1;33m'
    export LESS_TERMCAP_se=$'\033[0m'