今日再水一帖。
对计系同学来说,做 pre 时展示代码是很常见的需求;可惜排版恰恰是 PowerPoint 等软件的软肋。为了优雅地展示代码,偶尔我甚至直接写 Markdown 然后加大缩放比例。对于代码量很大的 pre 来说,这也算是个不错的解决方案。然而用 Markdown 做 pre 毕竟还是给人一种奇怪的感觉,所以今天还是简单分享一下一个很好用的开源工具:Highlight。
简介
Highlight 是一个命令行工具,可以将源代码转换为 HTML/RTF/LaTeX 等格式,从而输出语法高亮后的代码。以 RTF 为例,将输出的代码粘贴到 slides 中便自带语法高亮,调整大小后就有不错的效果:

相比截图,富文本在排版自由度、清晰度等方面的优势还是一目了然的。
安装
你可以在项目官网 http://www.andre-simon.de/zip/download.php 上找到 source package 和各平台的安装包。对于使用 Homebrew 的 MacOS 用户,也可以直接使用 brew install hightlight
安装。
使用
首先当然是 RTFM,写得很详细了。
其次补充一个常用用法。
MacOS 支持用 pbpaste/pbcopy 使终端与系统剪贴板交互,因此一个好用的用法是用管道符从剪贴板读入源代码,输入 Highlight,将高亮 RTF 输出到剪贴板:
pbpaste | highlight --syntax=C -k "Fira Code" -O rtf | pbcopy
Windows 及其它操作系统下或许有类似的交互方式,可以自行探索。