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

TextMate 本身不提供“导出 PHP 代码”这个功能——它是个纯文本编辑器,没有编译、打包或生成 HTML/文档的内置导出机制。所谓“导出 PHP 代码”,实际指的是**把当前编辑的 .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 或非标准换行符(
rn),导出后可能错行——建议先用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 导出更可靠
真正麻烦的点不在操作步骤,而在于 TextMate 对 PHP 语法的支持深度:它的 PHP.tmbundle 基于正则匹配,遇到 PHP 8.1+ 的枚举、只读属性或短闭包嵌套时,高亮常出错。导出前最好用 php -l script.php 先验证语法,再导出——否则高亮错位的 HTML 反而误导人。