Sublime没有原生“一键去重”,真正可用的是4.4+内置的Sort Lines: Unique(需先选中文本)或插件如Permute Lines: Unique、Remove All Duplicates,均支持保留首次出现且不打乱顺序。

Sublime 有“一键去重”吗?先说结论
没有真正意义上的原生一键去重命令——Remove Duplicate Lines 只删**连续重复行**,不是全局去重;Sort Lines 本身只排序、不去重。所谓“一键”,其实是 Sublime 4.4+ 内置的 Sort Lines: Unique,或插件提供的 Permute Lines: Unique / Remove All Duplicates。它们才是你想要的“保留首次出现、不打乱顺序”的去重动作。
怎么用内置 Sort Lines: Unique(推荐优先试)
这是 Sublime 4.4 起自带的功能,无需装插件,但必须先选中文本(全选 Ctrl+A 即可),否则命令不可见:
- 按
Ctrl+Shift+P打开命令面板 - 输入
Sort Lines: Unique,回车 - 它会自动去重并保持原始顺序(以第一次出现为准)
⚠️ 注意:如果你用的是旧版 Sublime(^\s+$ 删除行尾空白,再试。
为什么很多人用 Sort Lines + 正则反而出错?
因为误把“排序”当“去重”,又没意识到正则替换要反复点多次:
-
Sort Lines后必须再手动执行去重操作,它自己不删任何东西 - 常用正则
^(.*)(\r?\n)\1\2只匹配**两个连续相同行**,一次Replace All只能删掉每组中的第二个及之后的,第三、第四重复行得再点一次 - 超大文件(>5MB)下,正则引擎容易卡死或漏匹配;且
Ctrl+Z在批量替换后可能无法完整撤销
所以除非你明确需要“排序后再去重”(比如想让去重后的结果也按字母排好),否则别走这条路径——多一步就多一个出错点。
高频使用建议:装一个靠谱插件
如果你每周都要处理日志、API 返回列表、SQL 结果或爬虫数据,装 Find Duplicate Lines 或 Permute Lines 是最省心的选择:
- 安装后,全选 →
Ctrl+Shift+P→ 输入Remove All Duplicates(注意不是Consecutive)→ 回车 - 插件底层用 Python 集合去重,内存可控,支持忽略大小写、跳过空行等选项
-
Permute Lines: Unique更轻量,不依赖额外包,命令面板搜Permute就能调出
真正容易被忽略的是:所有方案都默认区分大小写、识别空格和换行符。如果一行末尾多了个空格,它就被当成不同行;如果混用了 \r\n 和 \n,也可能导致去重失效。处理前统一换行符(File → Line Endings → Unix)和清理尾部空白,比事后调试快得多。










