Есть ли способ синтаксического выделения файла, который я вижу в Less?
на самом деле я использую эту команду, чтобы открыть файл XML (а иногда и серию из них)
less htmleditors/htmleditors_config.xml
или же
less [multiple files]
Я хотел бы остаться в Меньше (чтобы лучше изучить эту программу и использовать мои знания: n и: p для следующей / предыдущей навигации)
Но ему также нужна какая-то базовая подсветка синтаксиса - по крайней мере, показывать комментарии по-другому. Вы знаете какой-нибудь способ сделать это?
syntax-highlighting
less
Джеспер Рённ-Йенсен
источник
источник
less ~/.zshrc
. Ошибка:src-hilite-lesspipe.sh: line 9: source-highlight: command not found
. Я запускаю это на MacOSX.brew install source-highlight
;export LESSOPEN="| /usr/local/bin/src-hilite-lesspipe.sh %s"
, Обратите внимание на изменение пути.sudo apt-get install source-highlight
,export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
,export LESS=' -R '
Лучший из двух предыдущих ответов: вы можете вызвать системный редактор по умолчанию изнутри, нажав v.
источник
или же
Pygmentize входит в состав подсветки синтаксиса Python Python .
источник
pygmentize
также работает сLESSOPEN
материалом, упомянутым в других ответах здесь.pygmentize
, вам нужен Python, а затем вы можете установитьpygmentize
сpip install pygments
.less
использоватьpygmentize
для подстветкой синтаксиса:which pygmentize 2> /dev/null >&2 && export LESSOPEN="| pygmentize -g -f terminal256 %s"
.-g
заставить его работать с трубами (less <(diff -u file1 files)
). Это доступно вcommunity/pygmentize
пакете дляarch linux
, и вpython-pygments
течениеdebian
.pygmentize
, но он оказался слишком медленным. Я придумала этот ответ, который быстрее и все же хорошенький с 256 цветами.Я думаю, что вы должны использовать текстовый редактор. Я люблю Vim себя. Это даст вам много возможностей при просмотре файлов, а затем, когда вы захотите редактировать их, вы уже будете знать основы.
Вот некоторые из преимуществ использования текстового редактора (в частности, vim):
Чтобы открыть файл в режиме только для чтения, используйте это:
Вот основное руководство по навигации:
Вот ссылка для получения дополнительной информации:
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
Напомним, что если вы будете использовать Unix, vim довольно фундаментален. Я слышал, что изучение vim похоже на обучение печатанию. Это следующий наиболее полезный инструмент для программирования.
(Чтобы избежать войн редакторов, вы также можете посмотреть на emacs или другой редактор, однако я лично предпочитаю vim)
источник
view
является псевдонимом дляvim -R
.Как уже говорили другие, вы можете использовать силу vim. Но важно то, что вы можете сделать это, не научившись использовать vi / vim.
Vim поставляется со
less.vim
сценарием, который работает довольно хорошо, заменяя меньше, с подсветкой синтаксиса. Он используетless
сочетания клавиш (просто нажмите «q», чтобы выйти).У него было несколько проблем, поэтому я его улучшил . Вот скриншот из моего поста в блоге (заархивирован 2013-04-09; оригинальные выбросы 503):
источник
find /usr/share/vim -name 'less.sh'
которая взята из этой сущности: gist.github.com/chauncey-garrett/9773770vimless
команду (следуя номенклатуреvimdiff
), выполните:ln -s $(find /usr/share/vim -name 'less.sh') /usr/local/bin/vimless
Я также искал это и нашел другое решение, используя Vim: http://ubuntu-tutorials.com/2008/07/14/use-vim-as-a-syntax-highlighting-pager/
Пост довольно старый, поэтому теперь на более свежих дистрибутивах vim 7.2 поставляется, и .bashrc будет читать: alias vless = 'vim -u /usr/share/vim/vim72/macros/less.vim'
источник
:help less
Я рад объявить о новом пакете, 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
. К счастью, современную версию легко создать прямо из исходного кода.источник
less
.Если у вас установлен GNU Source-highlight, вы можете использовать следующую команду, чтобы выделить синтаксис одного файла:
источник
src-hilite-lesspipe.sh
получать входные данные через канал?source-highlight
имеет.sh
сценарий, расположенный в/usr/share/source-highlight/*.sh
. Я создал символическую ссылку на него с именемhcat
в/usr/bin
.Показывает выделенный вывод в терминале (консоли) -
hcat
подсвечивается кат.Как:
источник
Используя OS X 10.9 (Maverick), это поможет:
sudo nano /etc/launchd.conf
(Добавить в /etc/launchd.conf)
перезагрузка
источник
В Mac, вы можете просто набрать
view filename
, делает похожую вещь, как меньше.источник
view filename
просто запускаетсяvim
по умолчанию - немного другие привязки клавишless
(см. Другие ответы на этот вопрос для более подробной информации).После установки GNU source-highlight (пакет
dev-util/source-highlight
на sabayon / gentoo) я сконфигурировал эти envs в/etc/bash/bashrc.d/my-less-src-highlight
:Я не хотел заменять,
lesspipe
потому что у этого есть другие особенности. Конкатенация не работает.источник
Если вам нужна та же подсветка синтаксиса, которую вы используете в Vim , но по какой-то причине вы предпочитаете использовать ее
less
как пейджер, вы можете использовать этот скрипт: https://github.com/rkitover/vimpagerОсновное использование будет:
или же
Вы можете использовать
-c
для передачи дополнительных команд, которых нет в вашей.vimrc
(например, выбор другой схемы цветов). Полная команда, которую я использую:Осторожно: если ваш Vim попросит вас нажать Enter при запуске, вы не увидите приглашение, но ничего не произойдет, пока вы не нажмете Enter!
cmdheight
Хитрость выше , может помочь смягчить это.источник
Я нашел,
highlight
который:source-highlight
)pygmentize
Вот скрипт, который я вызываю и
highlight-less-wrapper
который содержит.bashrc
инструкции о том, как настроитьless
его использование автоматически.источник
У меня был тот же вопрос, и я услышал, прочитал все ответы, и вот что я, наконец, сделал, чтобы подсветка синтаксиса использовалась каждый раз, когда я использую
less
илиmost
:Затем я пошел и создал псевдоним для моего
less
иmost
(я использую ZSH, но вы можете добавить псевдонимы для вашего.bashrc
файла, если вы используете bash):( Для тех, кто может застрять в vim: нажмите, iчтобы перейти в режим редактирования, когда вы закончите, нажмите Escзатем, :затем, xнаконец, Enterчтобы сохранить изменения )
И вставьте следующие строки для дистрибутивов на основе Debian (таких как Debian, Ubuntu, Mint и т. Д.):
или для RPM-дистрибутивов (Redhat, Fedora, Centos):
Не забудьте закрыть терминал и открыть его снова, чтобы убедиться, что псевдоним создан.
Теперь вы можете наслаждаться цветами:
источник