lessсам не способен делать подсветку синтаксиса, согласно этой теме .
Тем не менее, git diffприятно показывает цветной вывод меньше, его пейджер по умолчанию. Когда я перенаправляю вывод git diffв файл, не отображаются цветовые escape-последовательности.
Знает ли он git diff, куда он отправляется, и соответственно форматирует вывод? Как можно это сделать?
Я только что заметил, что git окрашивает diffвывод (например git diff), однако, он не знает, как вообще подсвечивать синтаксис. например
git show 415fec6:log.tex
не включает какой-либо TeX-подобный синтаксис.
Читая gitисточники, я обнаружил следующие подсказки
в diff.h:
int use_color;
Ранее я имел в виду подсветку синтаксиса , но это было не правильно. То, что я имею в виду, это выходная окраска, например

git diff --color=always | less -r (или less -Rдля ANSI). Кстати: для других команд, которые не разбивают на страницы по умолчанию ( git diffделает), вы можете включить его:git -p some_git_command