I have installed python-pygments and using it for syntax highlighting with less as described by mankoff hereI put a function in my .bashrc
cless () { pygmentize -f terminal "$1" | less -R
}it is enabling syntax highlighting with less. But when I am going to open a file like /etc/fstab or /etc/apt/apt.conf a error saying
Error: no lexer for filename '/etc/apt/apt.conf' foundI found option to show pygmentize the lexer with -l at this manpage. But what will be the appropriate lexer for such files? and how to use it?
2 Answers
Buried in pygmentize --help:
If -g is passed, attempt to guess the lexer from the file contents, or pass through as plain text if this fails (this can work for stdin).
Simply change your code to:
cless () { pygmentize -gf terminal "$1" | less -R
} 0 To have syntax highlight on Ubuntu/Debian first install
apt install source-highlightThen you may want to add this two environment variables to ~/.bashrc
export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s"
export LESS=' -R 'Tip: Also notice v on less open the file on default editor (defined by select-editor command) that maybe have syntax highlight. Here it is how to add compatibility to a lot of file types in nano.