подсветка синтаксиса с меньшим, проблемы с лексером

Я установил 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 . Но какой лексер подойдет для таких файлов? и как им пользоваться?

4
задан 20 March 2017 в 13:18

2 ответа

Похоронено в pygmentize --help:

Если передан -g, попытаться угадать лексер из содержимого файла или передать в виде простого текста, если это не удастся (это может работать для stdin) .

Просто измените свой код на:

cless () {
    pygmentize -gf terminal "$1" | less -R
}
0
ответ дан 20 March 2017 в 13:18

Чтобы выделить синтаксис в Ubuntu / Debian, сначала установите

apt install source-highlight

Тогда вы можете не захотеть добавлять эти две переменные окружения в ~/.bashrc

export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R '

Также обратите внимание < kbd> v в less откройте файл в редакторе по умолчанию ( определен командой select-editor ), который может иметь SH. Вот как добавить совместимость ко многим файлам в nano.

Ссылка

0
ответ дан 20 March 2017 в 13:18
  • 1
    @heemayl это должно все еще повторить " сделанный directory" хотя:/You' право ре, ; действительно работает. – Tim 24 May 2015 в 16:55

Другие вопросы по тегам:

Похожие вопросы: