使用 less 语法高亮,但词法分析器有问题

使用 less 语法高亮,但词法分析器有问题

我已经安装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选项手册页。但是什么样的词法分析器适合这类文件呢?以及如何使用它呢?

答案1

埋葬于pygmentize --help

如果传递了 -g,则尝试从文件内容中猜测词法分析器,如果失败则以纯文本形式传递(这可以适用于 stdin)。

只需将您的代码更改为:

cless () {
    pygmentize -gf terminal "$1" | less -R
}

答案2

在 Ubuntu/Debian 上安装语法高亮

apt install source-highlight

然后您可能需要将这两个环境变量添加到~/.bashrc

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

提示:还请注意在默认编辑器中v打开less文件(select-editor由命令定义) 可能有语法高亮。以下是添加方法与很多文件类型的兼容性nano

参考

相关内容