使用较少的语法高亮,使用词法分析器的麻烦
我已经安装了python-pygments
并使用它来进行语法高亮,如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
我在这个联机帮助页找到了用-l
显示pygmentize
lexer的选项。 但是这些文件的适当词法分析器是什么? 以及如何使用它?
埋葬在pygmentize --help
:
如果传递了-g,则尝试从文件内容中猜测词法分析器,或者如果失败则以纯文本forms传递(这可以用于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 '
另请注意v on less
open on default editor( 由select-editor
命令定义 )可能有SH的文件。 这里如何为 nano
的很多文件添加兼容性。
参考
- gnu.org – 2.7使用less-highlight
- bash – 更少的命令和语法突出显示 – Unix和Linux Stack Exchange
- 如何通过Less – 超级用户突出显示语法