Sublime Text 需通过插件组合实现内刊排版:用 SublimeLinter + sublinter-chinese 做中文标点校验,InsertText + 自定义 completions 插入专用符号,Build System 调用 Python 脚本批量清洗格式,并调整 lint 触发时机保稳定。

Sublime Text 本身不提供内刊排版所需的文本纠错和符号插入能力,必须通过插件机制 + 自定义构建系统 + 键盘绑定组合实现。原生功能无法满足企业级内刊对「中文标点校验」「全角/半角自动修正」「出版社专用符号(如※、‖、〔〕)一键插入」的硬性要求。
用 SublimeLinter + sublinter-chinese 做基础中文文本纠错
默认的 SublimeLinter 只检查语法,不识别中文语病或标点误用。需额外安装社区维护的 sublinter-chinese 插件(非官方,GitHub 可搜),它能检测:
- 句末缺句号、感叹号、问号(尤其在括号后、引号后)
- 连续使用顿号、逗号超过 3 次未换行或加连接词
- 英文标点混入中文段落(如半角冒号
:后紧跟中文)
注意:该插件依赖 Python 环境,若 Sublime 使用的是内置 Python(v3.3),需手动将插件中 import jieba 改为 from . import jieba,否则报 ImportError: attempted relative import with no known parent package。
用 InsertText 插件 + 自定义 sublime-completions 快速插入特殊符号
企业内刊常用符号(如「※」「‖」「〔〕」「〖〗」「①②③」)不能靠记忆 Unicode 码输入。推荐用 InsertText 插件配合自定义补全文件:
- 在
Packages/User/下新建publishing_symbols.sublime-completions - 内容格式必须为 JSON,
trigger设为易记缩写(如zs→ 「※」,shuangxian→ 「‖」) - 避免用
snippets,因为 snippet 不支持光标定位到符号中间,而completions可直接上屏并保持光标在符号右侧
示例片段:
{
"scope": "text.plain, text.html, text.xml",
"completions": [
{ "trigger": "zs", "contents": "※" },
{ "trigger": "shuangxian", "contents": "‖" },
{ "trigger": "guanhao", "contents": "①" }
]
}
用 Build System 调用外部 Python 脚本做批量格式清洗
单靠插件无法处理整篇稿件的结构性问题(如标题层级错乱、列表编号断续、空行不统一)。这时需要自建构建系统,调用本地 Python 脚本:
- 脚本路径必须写绝对路径,Sublime 的
$packages变量不展开到用户目录,要用$home或硬编码 - 构建配置中
shell_cmd推荐用python3 "/path/to/clean_publishing.py" "$file",而非cmd,避免 Windows 下编码错误 - 脚本输出必须是 UTF-8 编码,且结尾带换行符,否则 Sublime 构建面板会卡住不刷新
典型清洗动作包括:将连续 3 个以上 (中文全角空格)替换为段首缩进;把 1.2.3. 自动转成 ①②③;删除行尾多余空格但保留段落间空行。
真正难的不是加功能,而是让不同插件之间不打架——比如 SublimeLinter 会在你敲字时实时高亮,而 InsertText 补全又会触发一次光标跳转,两者叠加容易导致标点纠错提示闪退。建议把 lint 触发时机从 on_modified 改成 on_post_save,牺牲一点实时性,换来稳定性。

















