zaLinux.ru

Как отображать man-страницы в цвете в Linux


Если вам нужно цветовое выделение на ваших страницах man (справочные страницы по программам и утилитам Linux), подобное выделению синтаксиса в редакторе, есть два простых способа добиться этого. Мы покажем вам оба!

Цветовое выделение

Цветное выделение упрощает чтение. Благодаря ему детали становятся заметными, поэтому вы не пропустите их. Большинство современных редакторов поддерживают подсветку синтаксиса, при которой используется цвет для идентификации и разграничения различных элементов языка программирования. Зарезервированные слова, переменные, строки и числа раскрашены так, чтобы упростить визуальный анализ страницы или функции кода.

Наличие этой функции на страницах руководства Linux было бы чрезвычайно полезно. Несмотря на предпочтение краткости, некоторые страницы руководства большие, плотные и тяжёлые для восприятия. Всё, что упрощает визуальную навигацию по ним, — это хорошо.

Мы собираемся описать два способа получения цветного эффекта на страницах руководств. Один предполагает использование другого пейджера для их отображения, в то время как второй требует передачи набора параметров в less во время выполнения. Самый простой способ сделать это — создать функцию оболочки.

Пейджер most

Пейджер most — это просмотрщик файлов, вроде more и less, с улучшенной обработкой очень широких файлов. Он также автоматически раскрашивает страницы руководства.

Чтобы установить most на Debian, Kali Linux, Linux Mint, Ubuntu, используйте эту команду:

sudo apt install most

Чтобы установить most в Fedora, введите:

sudo dnf install most

Чтобы установить most на Arch Linux, Manjaro и их производные, введите:

sudo pacman -Syu most

Как установить most как пейджер по умолчанию

Чтобы сообщить Linux, что нужно использовать most в качестве пейджера по умолчанию, мы должны экспортировать значение переменной среды PAGER.

Набираем следующее:

export PAGER="most"

Однако это работает только до тех пор, пока вы не закроете окно терминала. Чтобы сделать это изменение постоянным, мы должны добавить его в файл «.bashrc» (мы сделаем её последней строкой в файле):

gedit .bashrc

Добавляем строку, сохраняем наши изменения, а затем закрываем редактор.

Чтобы сделать содержимое изменённого файла «.bashrc» активным, мы закрываем и снова открываем окно терминала.

Чтобы окно терминала оставалось открытым, мы будем использовать исходную команду, которую можно сократить до точки (.). Это заставит оболочку прочитать содержимое изменённого файла «.bashrc».

Набираем следующее:

. .bashrc

Цветные страницы man

Давайте откроем справочную страницу и посмотрим, как она выглядит:

man grep

Страница руководства открывается как обычно, но теперь текст на ней выделен разными цветами.

Прокрутите вниз, и вы увидите, как окрашены разные элементы страницы.


Использование most очень похоже на использование less, но с некоторыми отличиями. Нажмите h в most, чтобы просмотреть список сочетаний клавиш и их функций.

Выход:

  Q                      Выйти из MOST.
  :N,:n                  Выйти из этого файла и просмотреть следующий.
                            (Используйте стрелки ВВЕРХ/НИЗ для выбора следующего файла.)

Движение:

  ПРОБЕЛ, D              *Прокрутка вниз экрана.
  U, BACKSPACE          *Прокрутка вверх экрана.
  RETURN, ВНИЗ          *Движение на строку внинз.
  ВВЕРХ                    *Движение на одну строку вверх.
  T                      Переход к началу файла.
  B                      Переход к концу фала.
  > , TAB                Прокрутка окна вправо
  <                      Прокрутка окна влево
  ПРАВО                  Прокрутка окна вправо на 1 столбец
  ЛЕВО                   Прокрутка окна влево на 1 столбец
  J, G                   Перейти к строке.
  %                      Перейти к проценту.

Использование цвета с less

Если вы не хотите устанавливать ещё один пейджер или вам не хочется учить новые нажатия клавиш, есть уловка, которую вы можете использовать, чтобы использовать цвет в less. Есть разные способы сделать это, но мы рассмотрим самый быстрый и простой.


В этом методе используются цветовые коды Американского национального института стандартов (ANSI) для управления экранными эффектами, связанными со старыми и в основном не существующими настройками termcap.

Когда-то они использовались, чтобы указать, как компьютерные терминалы разных производителей и моделей должны интерпретировать команды дисплея. Пакеты программного обеспечения также имели свои собственные настройки termcap, и в том числе их имел less.

Вот определения настроек less termcap:

  • LESS_TERMCAP_md: Начальный эффект жирного шрифта (двойная яркость).
  • LESS_TERMCAP_me: Остановить жирный эффект.
  • LESS_TERMCAP_us: Начать эффект подчеркивания.
  • LESS_TERMCAP_ue: Остановить эффект подчеркивания.
  • LESS_TERMCAP_so: Начать эффект выделения (аналогично обратному тексту).
  • LESS_TERMCAP_se: Эффект остановки выделения (похож на обратный текст).

Опять же, мы установим их для управления сочетаниями цветов с использованием цветовых кодов Американского национального института стандартов (ANSI).

Формат цветового кода легко читается, если вы его понимаете:

  • «\e» в начале обозначает последовательность как управляющий код или escape-последовательность.
  • «m» в конце команды последовательности указывает конец команды. Это также вызывает действие управляющего кода.
  • Цифры между «[» и «m» определяют, какие цвета будут использоваться. Цвета обозначены номерами. Некоторые числа представляют цвета фона, а некоторые — цвета переднего плана (текста).

Вот коды, которые мы будем использовать для запуска цветовой последовательности, и как их все выключить:

  • \e[01;31m’: Чёрный фон, красный текст.
  • \e[01;32m’: Чёрный фон, зелёный текст.
  • \e[45;93m’: Пурпурный фон, ярко-жёлтый текст.
  • ‘\e[0m’: Выключить все эффекты.

Мы собираемся обернуть всё это функцией оболочки, которую мы назовём man. Она установит для нас эти значения, а затем вызовет настоящую программу man.


Если у вас уже есть функции оболочки, определённые в другом файле, вы можете добавить эту функцию в этот файл. В противном случае скопируйте следующий текст в нижнюю часть вашего файла «.bashrc»:

gedit .bashrc

Вставьте функцию в конец вашего файла «.bashrc».

man() {
    LESS_TERMCAP_md=$'\e[01;31m' \
    LESS_TERMCAP_me=$'\e[0m' \
    LESS_TERMCAP_us=$'\e[01;32m' \
    LESS_TERMCAP_ue=$'\e[0m' \
    LESS_TERMCAP_so=$'\e[45;93m' \
    LESS_TERMCAP_se=$'\e[0m' \

    command man "$@"
}

Сохраните изменения и закройте редактор. Теперь нам нужно прочитать файл «.bashrc», чтобы активировать функцию оболочки, поэтому мы набираем:

. .bashrc

Теперь, когда мы запустим страницу руководства, по прежнему будет использоваться less, но текст будет раскрашен:

man chmod

Страница руководства открывается с цветным выделением.

Оглядываясь назад, можно сказать, что жёлтый на пурпурном - не лучшая идея. К счастью, вы можете настроить цветовую кодировку по своему вкусу.

Это не только для красоты

Легко пролистать длинную справочную страницу и пропустить важную информацию, например опцию или параметр, потому что она потеряна в море текста.

Теперь названия параметров и опций будут выделены цветом, и вам будет намного легче их заметить.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *