Вы можете использовать пакет e2ansi , который обеспечивает поддержку подсветки синтаксиса для пейджеров, таких как more
и less
.
Пакет использует мать всех текстовых редакторов, Emacs , для фактической подсветки синтаксиса. В качестве дополнительного бонуса также выполняются все другие преобразования, обычно выполняемые Emacs, такие как распаковка файлов.
пример
Ниже приведен результат просмотра файла с использованием less
и
e2ansi
:
конфигурация
Пакет предоставляет инструмент командной строки, e2ansi-cat
который запускает Emacs в пакетном режиме, открывает файлы, выделяет их синтаксис и отображает результат с использованием последовательностей ANSI.
Вы можете интегрировать это less
, установив, например, следующие переменные (расположение вашего файла инициализации может отличаться):
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
. К счастью, современную версию легко создать прямо из исходного кода.