Многие редакторы, ориентированные на программирование, раскрасят исходный код. Есть ли команда, которая раскрасит исходный код для просмотра в терминале?
Я мог бы открыть файл с помощью emacs -nw
(который открывается в терминале вместо того, чтобы открывать новое окно), но я ищу что-то, что работает как less
(или работает с less -R
, который проходит через escape-последовательности цвета при вводе).
Я использую GNU в
source-highlight
сочетании сless -R
этим. Добавьте следующие строки в файл инициализации вашей оболочки (~/.bashrc
например):Это должно автоматически раскрасить исходный код в соответствии с используемым языком и, если это не удастся, он запустится
less
непосредственно при вводе.источник
Если вам интересны цвета в
less
более общем плане, вы можете посмотреть на нихlesspipe.sh
. Смотрите, например, http://freecode.com/projects/lesspipe .Он также раскрасит сценарии оболочки, Perl-скрипты и т. Д. Аналогично текстовому редактору, но без использования какой-либо программы «предварительной обработки» для раскрашивания.
источник
lesspipe.sh
это то, что я пытался вспомнить, прежде чем опубликовать вопрос ...Мне нравится простота, и я использую текстовый редактор nano, в этом случае я обычно действую следующим образом:
проверьте наличие синтаксиса ведьмы:
ls -la /usr/share/nano/
включить его в мой файл nanorc с помощью следующей команды или вручную
о
less
я предлагаю посмотреть на этой страницеисточник
Согласно предложению Стефана Шазела , я создаю функцию bash, чтобы использовать
highlight
подсветку show Syntax, помещаю ее в .bashrc или так далее. Работает отлично, быстро и эффективно.выделить поддержку 202 языковой формат синтаксиса . см
highlight --list-scripts=langs
.источник
Вы можете использовать пакет e2ansi , который обеспечивает поддержку подсветки синтаксиса для пейджеров, таких как
more
иless
.Пакет использует мать всех текстовых редакторов, Emacs , для фактической подсветки синтаксиса. В качестве дополнительного бонуса также выполняются все другие преобразования, обычно выполняемые Emacs, такие как распаковка файлов.
пример
Ниже приведен результат просмотра файла с использованием
less
иe2ansi
:конфигурация
Пакет предоставляет инструмент командной строки,
e2ansi-cat
который запускает Emacs в пакетном режиме, открывает файлы, выделяет их синтаксис и отображает результат с использованием последовательностей ANSI.Вы можете интегрировать это
less
, установив, например, следующие переменные (расположение вашего файла инициализации может отличаться):В приведенной выше конфигурации
less
восстанавливает исходное содержимое окна терминала, тогда какmore
просто выводит новое содержимое после запроса.Примечание. Если вы используете старую версию
less
, она может не поддерживать синтаксис||
или-
, в этом случае вам может понадобиться просто использоватьLESSOPEN=|/usr/local/emacs ...
.Использование
less
в трубахСимвол «-»
LESSOPEN
указывает на то, что фильтр ввода также должен использоваться при передаче текста вless
. В этом случае Emacs может полагаться только на сам текст (а не на имя файла). К счастью, Emacs предоставляет систему для этого. Кроме того, предоставленный файл файлаe2ansi-magic.el
устанавливает дополнительные типы файлов. Например:Зачем использовать Emacs?
e2ansi
цвета в теме сохраняются при просмотре файла вless
. Вы можете выбрать подходящую цветовую тему из нескольких источников или создать свой собственный.less
(минус ограничения в формате последовательности ANSI и окне терминала).less
использует возможности Emacs, которые выполняют автоматическое преобразование, например, распаковку файлов. Фактически, вы можете научить Emacs выполнять любые преобразования, такие как автоматическое преобразование двоичного файла в читаемую человеком форму с помощью внешнего инструмента./USER@HOST:FILENAME
.Полезные ссылки
e2ansi
распространяется на Melpa и может быть установлен с использованием стандартной системы пакетов Emacse2ansi
размещен на GitHube2ansi
Страница на Emacs Wikiless
.Примечания по операционной системе
В MS Windows консоль не поддерживает последовательности ANSI. К счастью,
less
приложение способно их визуализировать. Я не знаю ни одного современного бинарного дистрибутиваless
для MS Windows, и предоставленные файлы сборки сложно использовать. К счастью, это легко построитьless
с помощью CMake , подробности смотрите в этом тексте .OS X распространяет древнюю версию
less
. К счастью, современную версию легко создать прямо из исходного кода.источник
Это называется подсветкой синтаксиса.
GNU Source-highlight, когда предоставляется исходный файл, создает документ с подсветкой синтаксиса.
Я использую приведенный
lessfilter
ниже скрипт, или вы можетеless
автоматически вызывать его, например:Я нашел эту статью и начал делать это так:
(
src-hilite-lesspipe.sh
поставляется с,source-highlight
но не все дистрибутивы включают его)источник
export
определяет переменную среды, а не псевдоним. Командаless
использует флаги из переменной окруженияLESS
, поэтому ваш ответ нуждается в некоторой доработке.