语法高亮少,词法分析器麻烦

sou*_* c. 5 command-line bash syntax-highlighting less

我已经安装python-pygments并使用它进行语法高亮显示与less由mankoff描述在这里 我把我的功能.bashrc

cless () {
    pygmentize -f terminal "$1" | less -R
}
Run Code Online (Sandbox Code Playgroud)

它使用less. 但是当我要打开一个文件时,/etc/fstab或者/etc/apt/apt.conf说一个错误

Error: no lexer for filename '/etc/apt/apt.conf' found
Run Code Online (Sandbox Code Playgroud)

我在此联机帮助页中找到了显示pygmentize词法分析器的选项。但是对于此类文件,合适的词法分析器是什么?以及如何使用它?-l

Oli*_*Oli 4

埋于pygmentize --help

如果传递 -g,则尝试从文件内容猜测词法分析器,或者如果失败则以纯文本传递(这可以适用于标准输入)。

只需将您的代码更改为:

cless () {
    pygmentize -gf terminal "$1" | less -R
}
Run Code Online (Sandbox Code Playgroud)