less -R 不显示颜色

less -R 不显示颜色

我在 OSSierra 上,使用 iterm2。

我有一个小项目,用 golang 对 markdown 进行一些简单的解析,然后将某些行用彩色打印到终端https://github.com/deltaskelta/readme我正在使用这个库来获取颜色https://github.com/fatih/color

当我单独运行程序时,一切看起来都很棒,但我希望能够通过管道将其传输到寻呼机less -R并在寻呼机中获取彩色输出,以便更容易查看长文件......

当我尝试通过管道传输时less,我丢失了所有的颜色,底层颜色代码肯定存在一些问题,但我对此了解不够,无法追查该问题……

有任何想法吗?

答案1

一些程序可以检测它们是否写入管道或常规文件,或者写入终端(tty);只有在后一种情况下它们才会产生丰富多彩的输出。

例如:ls使用 执行类似操作ls --color=auto。您可以通过 强制颜色ls --color=always

您应该看到当您将工具连接到less(不使用-Rnor -r)时会发生什么。 有任何代码吗? 比较ls --color=auto | lessls --color=always | less

如果没有代码,那么你可以力量即使在管道中使用时,该工具也会生成它们(相当于--color=always选项ls)。如果有的话,请查看工具文档。

相关内容