Ви можете використовувати пакет e2ansi , який забезпечує підтримку підкреслення синтаксису для пейджерів, як moreі less.
У пакеті використовується мати всіх текстових редакторів, Emacs , щоб виконати фактичне виділення синтаксису. В якості додаткового бонусу виконуються також всі інші перетворення, які зазвичай виконуються Emacs - як, наприклад, нестискаючі файли.
Приклад
Нижче наведено результат перегляду файлу за допомогою lessта
e2ansi:

Конфігурація
У пакеті передбачений інструмент командного рядка, e2ansi-catякий запускає Emacs у пакетному режимі, відкриває файли, виділяє їх синтаксис та надає результат, використовуючи послідовності ANSI.
Ви можете інтегрувати це less, встановивши, наприклад, такі змінні (наприклад, місце вашого файлу init може відрізнятися):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
У наведеній вище конфігурації lessвідновлює вихідний вміст вікна терміналу, тоді як moreпросто виводить новий вміст після підказки.
Примітка. Якщо ви використовуєте стару версію програми less, вона може не підтримувати
синтаксис ||або -синтаксис. У цьому випадку вам може знадобитися просто використовувати
LESSOPEN=|/usr/local/emacs ....
Використання lessв трубах
Символ "-" LESSOPENвказує на те, що вхідний фільтр також слід використовувати під час передачі тексту в less. У цьому випадку Emacs може покладатися лише на сам текст (а не на ім'я файлу). На щастя, Emacs забезпечує систему для цього. Крім того, наданий файловий файл
e2ansi-magic.elвстановлює додаткові типи файлів. Наприклад:

Навіщо використовувати Emacs?
- Emacs має підтримку практично всіх мов програмування та структурованих текстових форматів. У більшості випадків підтримка підсвічування синтаксису є чудовою.
- Ви можете легко додати підтримку більшої кількості мов та форматів або змінити існуючі пакети відповідно до ваших потреб.
- Emacs підтримує кольорові теми. Під час використання
e2ansiкольори в темі зберігаються під час перегляду файлу в less. Ви можете вибрати відповідну колірну тему з ряду джерел або створити власну.
- Якщо ви використовуєте Emacs як вибраний вами редактор, ви отримаєте те саме виділення в редакторі, що і ви, переглядаючи файл із використанням
less(мінус обмеження у форматі послідовностей ANSI та вікні терміналу).
lessскористаються функціями Emacs, які виконують автоматичне перетворення, наприклад, розпакування файлів. Насправді ви можете навчити Emacs виконувати будь-які види перетворень, як-от автоматичне перетворення двійкового файлу в читану людиною форму за допомогою зовнішнього інструменту.
- Ви можете переглядати файли, розташовані на інших машинах, використовуючи синтаксис Emacs для віддаленого доступу, наприклад
/USER@HOST:FILENAME.
Корисні посилання
e2ansiрозповсюджується на Melpa і може бути встановлений за допомогою стандартної системи пакетів Emacs
e2ansiрозміщується на GitHub
e2ansiСторінка на Emacs Wiki
- Дім с
less.
Примітки операційної системи
У MS Windows консоль не підтримує послідовності ANSI. На щастя, lessпрограма здатна їх надати. Мені не відомий жоден сучасний бінарний дистрибутив lessдля MS Windows, а надані файли збірки важко використовувати. На щастя, це легко побудувати lessза допомогою CMake , детально дивіться цей текст .
OS X поширює стародавню версію less. На щастя, легко побудувати сучасну версію безпосередньо з джерела.