中文分号在python等语言中会导致syntaxerror,必须用正则替换;稳妥方案是限定上下文,如行末中文分号或被中文包围的分号,并确保sublime启用正则模式、跨文件搜索路径正确,且需手动保存。

中文分号在代码里会直接报错
Python、JavaScript、JSON 等语言解析器根本不认全角分号;,遇到就抛 SyntaxError: invalid character ';'。Sublime 本身不校验语法,但错误源头就是它没拦住你输错——所以批量修正不是“美化需求”,而是让代码能跑起来的刚需。
必须用正则替换,且要限定上下文
直接全局搜;替成;极危险:HTML 属性值、Markdown 表格、甚至注释里的中文分号都可能被误伤。稳妥做法是只换「前后都是中文字符」或「行末中文分号」这类明确场景:
- 匹配行末中文分号(适合文档/表格末尾):
;\s*$→ 替换为; - 匹配被中文包围的分号(避开 URL、数字、代码关键字):
([\x{4e00}-\x{9fa5}]);([\x{4e00}-\x{9fa5}])→ 替换为$1;$2 - 若文件纯文本无代码,可放宽为
;(?![a-zA-Z0-9])(后面不是英文或数字),再人工抽检几处
所有正则必须点开替换面板右下角的 .* 图标启用,否则\s$这些全当普通字符处理。
跨文件批量操作前先加载项目目录
按 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)调出「Find in Files」面板,Where 框务必填 .(一个英文点),不能留空或只写 Open Files——否则只搜当前标签页可见部分,改完发现漏了 90% 的文件。
- 确认左下角状态栏显示项目路径(如
/Users/xxx/project),侧边栏有文件树才算真正加载成功 - 替换后所有文件标签页出现星号
*是正常现象,必须手动执行File → Save All,否则关窗口就丢全部改动 - Mac 用户若快捷键失灵,先检查系统设置里 Spotlight 是否占用了
Cmd+Shift+F
别指望插件自动转换已存在文本
像 CNPunctuationAutopair 这类插件只管「输入时自动配对」,对已写进文件的 ; 完全无感。它不扫描、不替换、不清理——连状态栏提示都不会有。想一劳永逸?不存在的。每次粘贴网页内容、从 Word 复制段落,都得自己过一遍正则。
最易忽略的点:正则里的 \x{4e00}-\x{9fa5} 在 ST3/ST4 都支持,但如果你还在用 ST2,得换成 [\u4e00-\u9fa5],否则中文范围匹配失败,替换就漏掉。











