【发布时间】:2011-07-16 00:57:24
【问题描述】:
现在,我使用most 作为我的寻呼机。虽然它为man 页面提供了有用的语法高亮显示,但它缺少其他任何内容的彩色语法高亮显示(我专门寻找 diff/C++)。
同时,pygments 是一个很棒的程序。我可以很容易地用它制作彩色输出:
# ./pygmentize -f console256 ${file}
hg diff | ./pygmentize -f console256 -l diff
现在,我希望能够对输出进行分页,所以我只使用:
# ./pygmentize -f console256 ${file} | most
hg diff | ./pygmentize -f console256 -l diff | most
此时,大多数将所有着色控制字符转储到我的屏幕上,如下所示:
^[[38;5;28;01mclass^[[39;00m ^[[38;5;21;01mheap_allocator^[[39;00m
{
^[[38;5;28;01mpublic^[[39;00m^[[38;5;241m:^[[39m
当然,这是不可读的。我查看了most 的man 页面,但我找不到任何“嘿,将这些控制字符显示为颜色而不是打印它们”选项。 less 与 most 具有相同的垃圾行为,但 more 显示颜色非常好,具有明显的局限性 more。
是否有支持语法高亮显示的寻呼机或一些参数和程序的疯狂组合,我可以将其串在一起来完成这项工作?最终,我想突出显示 Mercurial 的差异和日志,所以也许那里有一个捷径......
【问题讨论】:
标签: command-line syntax-highlighting pager