sublime text 无法直接导出 markdown 为 word,必须依赖 pandoc 工具并配置自定义构建系统;需确保 pandoc 已安装且路径正确,使用 ${file} 等变量时加双引号防空格,并通过 --reference-doc 指定模板控制样式。

Sublime Text 本身不能直接导出 Markdown 为 Word,必须通过外部工具 pandoc 配合自定义构建系统实现;没装 pandoc 或路径没配对,按 Ctrl + B 只会报 "pandoc is not recognized" 或静默失败。
确认 pandoc 已安装且 Sublime 能调用
这是最常卡住的一步。Sublime 的构建系统默认使用系统 shell,但不加载你终端里生效的别名或用户级 PATH(尤其 macOS/Linux 的 zsh profile、Windows 的 PATH 修改未勾选“Add to PATH”)。
- 在终端运行
pandoc --version,有输出(推荐 ≥3.0)才算装好 - 如果终端能跑、Sublime 构建却报错,Windows 用户检查安装 pandoc 时是否勾选了 “Add to PATH”;macOS 用户注意
brew install pandoc后路径可能是/opt/homebrew/bin/pandoc,GUI 应用默认读不到 - 临时解法:在构建文件中写死全路径,比如
"shell_cmd": "/opt/homebrew/bin/pandoc -o "${file_path}/${file_base_name}.docx" "${file}""
配置 Pandoc.sublime-build 构建系统
Sublime 的构建系统本质是 shell 命令封装,${file}、${file_base_name}、${file_path} 混用会导致输出位置错乱或空文件。
- 基础命令必须加双引号:防止路径含空格(如
C:UsersMy Documents)导致崩溃,例如"shell_cmd": "pandoc "${file}" -o "${file_path}/${file_base_name}.docx"" -
selector必须设为"source.gfm"(GitHub Flavored Markdown),否则 .md 文件右键 → Build System 不会出现该选项 - 若需支持中文、公式或引用,补上参数:
--from=markdown+tex_math_dollars --filter=pandoc-citeproc
用 --reference-doc 控制 Word 样式
默认生成的 .docx 排版简陋,标题无层级、无目录、字体不统一——这不是 pandoc 的问题,而是没指定样式模板。
- 准备一个参考文档(
template.docx),设置好标题样式、正文字体、页眉页脚等,保存到固定路径(如~/Templates/template.docx) - 构建命令中加入
--reference-doc="/path/to/template.docx",例如:"shell_cmd": "pandoc "${file}" --reference-doc="~/Templates/template.docx" -o "${file_path}/${file_base_name}.docx"" - 注意:Windows 路径中的反斜杠要转义(
C:\Users\xxx\template.docx)或改用正斜杠(C:/Users/xxx/template.docx)
替代方案:Writage 插件(仅限 Windows + Word)
如果你已装 Microsoft Word 且不想折腾命令行,Writage 是更轻量的选择——但它不是 Sublime 插件,而是 Word 加载项。
- 下载安装 Writage(官网可得),它会让 Word 支持直接打开 .md 文件
- 用 Word 打开你的 Markdown 文件,格式基本保留(标题、列表、表格),再另存为 .docx 即可
- 优势是免配置、支持实时编辑 Word 中的 Markdown;缺点是无法批量处理、不跨平台、复杂公式和引用支持弱
真正容易被忽略的是:pandoc 生成的 .docx 是否能被客户或领导的旧版 Word 正确打开。某些样式(如自定义 XML 标签、新版主题字体)在 Word 2013 或更低版本中可能丢失或错位,建议最终交付前用目标环境实际打开验证一次。











