Ви можете використовувати пакет 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
. На щастя, легко побудувати сучасну версію безпосередньо з джерела.