TextMate不提供原生“导出PHP代码”功能,实际指将.php文件导出为带语法高亮的HTML、PDF或RTF等格式;常用方法包括Bundle导出HTML、配合highlight命令行工具生成PDF、或Copy as RTF保留颜色。

.php 文件以某种格式(比如带语法高亮的 HTML、PDF 或纯文本)保存出来供分享或归档**。
下面分几种真实场景说明怎么做:
用 Bundle 导出为带高亮的 HTML
这是最常见需求:把 PHP 源码转成可读性更强的 HTML 页面(含行号、颜色、字体等)。
- 确保已启用
Bundles → HTML → Export as HTML(默认开启) - 打开你的
script.php,确认语言模式是PHP(右下角状态栏显示,否则高亮会错) -
Control-Shift-H(macOS)触发导出;或菜单选择Bundles → HTML → Export as HTML - 生成的 HTML 默认使用内联 CSS,可直接打开查看;若需改样式,编辑
~/Library/Application Support/TextMate/Bundles/HTML.tmbundle/Support/export_html.rb - 注意:如果 PHP 文件含 UTF-8 BOM 或非标准换行符(
\r\n),导出后可能错行——建议先用Text → Reindent和File → Reveal Encoding → UTF-8统一处理
命令行用 textmate 命令配合外部工具导出 PDF
TextMate 自带 CLI 工具 textmate,但不能直接生成 PDF;需借助 pygmentize 或 highlight 等命令行高亮器中转。
- 先装高亮工具:
brew install highlight(macOS) - 导出为 PDF 的典型流程:
highlight -O pdf --syntax php --style solarized-light --font-size 10 --page-width 210mm --page-height 297mm script.php > script.pdf
- 如需保留 TextMate 的配色方案,得手动提取其主题色并映射到
highlight的 CSS 输出,再用wkhtmltopdf转 PDF —— 这步容易卡在字体嵌入和中文支持上 - 别依赖
textmate script.php --export=pdf:该参数不存在,是常见误解
复制为 RTF 或纯文本时丢失高亮怎么办
选中代码 → Edit → Copy as RTF 是唯一能保留颜色的方式,但 PHP 高亮是否生效取决于当前 Bundle 是否正确加载了语法定义。
- 检查
Bundle Editor → Language Grammars → PHP是否存在且启用 - 如果复制后全是黑色文字,大概率是语言模式没识别对:点击右下角语言名,手动选
PHP(不是PHP (HTML)或PHP (Twig)) -
Copy as RTF不支持行号;如需带行号,得先View → Show Line Numbers,再截图或用上面的 HTML 导出法 - 粘贴到 Pages / Word 后颜色变淡?那是目标应用自动降级了 RTF 格式——改用 HTML 导出更可靠
PHP.tmbundle 基于正则匹配,遇到 PHP 8.1+ 的枚举、只读属性或短闭包嵌套时,高亮常出错。导出前最好用 php -l script.php 先验证语法,再导出——否则高亮错位的 HTML 反而误导人。










