Я установил python-pygments
и использую его для подсветки синтаксиса с помощью less
, как описано mankoff здесь Я поместил функцию в мой .bashrc
cless ()
{
pygmentize -f terminal "$1" | less -R
}
это включение подсветки синтаксиса с помощью less
. Но когда я собираюсь открыть файл типа /etc/fstab
или /etc/apt/apt.conf
с сообщением об ошибке
Error: no lexer for filename '/etc/apt/apt.conf' found
, я нашел возможность показать pygmentize
лексер с -l
на этой manpage . Но какой лексер подойдет для таких файлов? и как им пользоваться?
Похоронено в pygmentize --help
:
Если передан -g, попытаться угадать лексер из содержимого файла или передать в виде простого текста, если это не удастся (это может работать для stdin) .
Просто измените свой код на:
cless () {
pygmentize -gf terminal "$1" | less -R
}
Чтобы выделить синтаксис в Ubuntu / Debian, сначала установите
apt install source-highlight
Тогда вы можете не захотеть добавлять эти две переменные окружения в ~/.bashrc
export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '
Также обратите внимание < kbd> v kbd> в less
откройте файл в редакторе по умолчанию ( определен командой select-editor
), который может иметь SH. Вот как добавить совместимость ко многим файлам в nano
.
;
действительно работает.
– Tim
24 May 2015 в 16:55