Less - подсветка синтаксиса

Версия для печатиОтправить другуPDF version

Так уж исторически сложилось, что в качестве просмотрщика во FreeBSD использую less. Немного "скрасить" часы, проведенные за изучением страниц руководств, советую выполнить подсветку синтаксиса.

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

  • полужирный
  • подчеркнутый
  • выделенный
  • мерцающий

Однако, все они выводятся на экран однним цветом - белым. А для более удобного восприятия, желательно для каждого стиля использовать свой цвет.

Для изменения настроек по умолчанию, внесем изменения в конфигурационный файл используемой оболочки (поскольку я использую tcsh, то в моем случае это ~/.tcshrc). Блок о выделении цветом лучше размещать в конце конфигурационного файла.

Полужирный текст: 

setenv LESS_TERMCAP_md 'Esc-последовательность'
setenv LESS_TERMCAP_me 'Esc-последовательность'

Подчеркнутый текст:

setenv LESS_TERMCAP_us 'Esc-последовательность'
setenv LESS_TERMCAP_ue 'Esc-последовательность'

Выделенный текст:

setenv LESS_TERMCAP_so 'Esc-последовательность'
setenv LESS_TERMCAP_se 'Esc-последовательность'

Мерцающий текст:

setenv LESS_TERMCAP_mb 'Esc-последовательность'
setenv LESS_TERMCAP_me 'Esc-последовательность'

ESC-последовательности обозначают начало и конец блока текста для раскрашивания.

Внесем в .tcshrc такие строки:

setenv  LESS_TERMCAP_mb  '^[[0m^[[33m'
setenv  LESS_TERMCAP_md  '^[[0m^[[33m'
setenv  LESS_TERMCAP_me  '^[[0m^[[36m'
setenv  LESS_TERMCAP_se  '^[[0m^[[37m'
setenv  LESS_TERMCAP_so  '^[[0m^[[38m'
setenv  LESS_TERMCAP_ue  '^[[0m^[[32m'
setenv  LESS_TERMCAP_us  '^[[0m^[[31m'

Внимание! Вместо последовательности ^[ необходимо вставить ESC-символ. Сделать это можно, например, в редакторе ее. Для этого необходимо нажать сочетание клавиш CTRL+O и ввести код 027. Кстати, цвета можно изменить на другие. А чтобы не перелогиниваться каждый раз, применим настройки, используя команду source:

# source ~/.tcshrc

Ну и, собственно результат... Вывод man теперь приобретает следующий вид:

Подсветка man

 

Ваша оценка: Нет Средняя: 3.8 (4 голоса)

Re: Less - подсветка синтаксиса

Пытаюсь добавить - не выходит.

Цвета не отображаются. Хотя заменяю ^[ на ctrl+o 27

 

В итоге такая картина:

>man man
MAN(1)                  FreeBSD General Commands Manual                 MAN(1)

^[[33mNAME^[[36m
     ^[[33mman^[[36m — display online manual documentation pages

^[[33mSYNOPSIS^[[36m
     ^[[33mman^[[36m [^[[33m-adho^[[36m] [^[[33m-t^[[36m | ^[[33m-w^[[36m] [^[[33m-M^[[36m ^[[31mmanpath^[[32m] [^[[33m-P^[[36m ^[[31mpager^[[32m] [^[[33m-S^[[36m ^[[31mmansect^[[32m]
         [^[[33m-m^[[36m ^[[31march^[[32m[:^[[31mmachine^[[32m]] [^[[33m-p^[[36m [^[[31meprtv^[[32m]] [^[[31mmansect^[[32m] ^[[31mpage^[[32m ^[[31m...^[[32m
     ^[[33mman^[[36m ^[[33m-f^[[36m ^[[31mkeyword^[[32m ^[[31m...^[[32m
     ^[[33mman^[[36m ^[[33m-k^[[36m ^[[31mkeyword^[[32m ^[[31m...^[[32m

^[[33mDESCRIPTION^[[36m

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература

Первая заповедь программиста: не знаешь что делать - делай что-нибудь.