先声明一下我的习惯:我重度依赖 Notepad++,基本上所有临时文本处理、日志分析、代码片段整理都在它里面完成。这玩意儿体积小、启动快、打开大文件不卡,但很多人只拿它当“高级记事本”用,顶多按个 F5 跑个脚本。实际上,只要把排版和格式化这一套玩明白,Notepad++ 能从“文本编辑器”直接升级成“文本加工流水线”。今天这篇东西,就是把我在格式化这条路上踩过的坑和沉淀下来的方法做个完整梳理。
这篇文章适合谁看?两类人。一类是日常被 JSON、日志、脏数据折磨的开发、测试、运维,想要一键把乱糟糟的文本理顺;另一类是经常处理文档、字幕、章节目录、批量文本替换的内容从业者,需要在不装重量级软件的前提下,用最轻量的方式完成规范化排版。我会从格式化思路、高频操作、疑难杂症、正则批量排版、特殊场景实战这几个角度一个个拆开讲,尽量做到拿来就用。
1. 内容整体设计与思路拆解
1.1 摆脱“复制到网页再格式化”的恶性循环
很多人的第一反应,是遇到 JSON 打不开、日志挤成一坨、代码缩进全部乱掉的时候,打开浏览器搜“JSON 格式化工具”,然后把内容贴到网页里格式化再贴回来。
这条路我走了很久,后来实在受不了了。网页工具的问题很多:一是内容一旦涉及敏感数据,贴到第三方网站本身就是风险敞口;二是来回复制粘贴,格式容易二次损坏,尤其是长文本、中文内容、特殊转义字符,经常在剪切板里悄悄变了形;三是效率太低,每次都要切换窗口,完全打断工作流。
Notepad++ 里面其实内置了相当完整的文本处理能力,配合插件生态,格式化这件事完全可以做到离线完成、批量完成、可定制完成。我的总体思路很简单:按文本类型分场景处理,能用内置功能的不装插件,能离线完成的不碰网页工具,能一个正则解决的不写脚本。
这套思路的核心,是先理解“格式化”的三个层次:
- 第一层是显示层排版:比如换行、缩进、行尾空格、编码统一,这一层不改变语义,只让文本“看起来舒服”。
- 第二层是结构层解析:比如 JSON、XML、SQL、Python 代码,编辑器需要理解语法结构,才能正确缩进和格式化。
- 第三层是内容层变换:比如批量给每一行加编号、把 A 列和 B 列对齐、按规则提取关键字段,这一层已经不是“格式化”而是“数据处理”,但通常被并入排版需求里。
很多人只停留在第一层,遇到第二层的问题就束手无策,遇到第三层干脆手动操作。这篇文章按这三个层次分别给出方案,你以后遇到任何“排版乱、格式脏”的问题,先判断属于哪一层,再选择对应手段,就不会再抓瞎了。
1.2 为什么选择 Notepad++ 而不是其他编辑器
有人会问,VS Code、Sublime Text、甚至 IDEA 都能格式化,为什么还要折腾 Notepad++?我个人的答案很简单:轻量、快速、纯粹。
VS Code 启动就要好几秒,打开一个几十 MB 的日志文件经常卡到怀疑人生,各种自动格式化配置有时候还会帮倒忙(搜索词里就有人问“vscode 自动格式化代码在哪关闭”)。IDEA 全家桶更不用说,队列负载高的时候,格式化一个文件要等半天。而 Notepad++,打开超大日志基本秒开,做格式化、批量替换、列操作都非常利落。
另外一个原因是它的“零干扰”特性。VS Code 的自动保存自动格式化、自动修剪尾部空格、自动补全引号括号,这些功能在写正式代码时确实好用,但在处理脏数据、临时文本、非代码文件时经常好心办坏事——我遇到过好几次,从外部复制的一段带缩进的文本,粘进 VS Code 就被自动改得面目全非(搜索热词里那句“trae 自动保存后字符被自动删除,格式化错乱了”说的就是这类问题)。Notepad++ 默认不搞这些小动作,所有操作由你自己触发,可控性更强。
所以我把 Notepad++ 定义为“文本的粗加工车间”:所有脏乱差的原始素材先到这里整理、清洗、标准化,再进入正式的生产环境。这套工作流我用了很多年,稳定可靠。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 高频格式化操作:从菜单到插件全覆盖
2.1 内置菜单:先摸清“编辑”菜单里的隐藏排版功能
很多人不知道,Notepad++ 的“编辑”菜单里本身就藏着一批排版相关的功能,只是藏得比较深。其中几个我用得最频繁的:
- 空白操作 → 行首/行尾空白去除:这个功能对清理从网页或 PDF 里复制出来的文本特别有用。我试过复制一段 PDF 的文字,每一行前面都带四五个空格,如果直接导入其他系统会干扰格式。用“行首空白去除”一次性就能清理干净。
- 行操作 → 合并行/拆分行:合并行可以把多行文本合成一行(选好区域后按 Ctrl+J),拆分行则相反。这个在做日志压缩查看、把长 SQL 压缩成单行时很好用。
- 缩进与对齐:Tab 键缩进和 Shift+Tab 反缩进是基本功,但很多人不知道可以选中多行后统一操作,还能通过“设置 → 首选项 → 语言”里调整
