Sublime Text原生支持多行字母升序排序:选中目标行后按Ctrl+F9(Win/Linux)或Cmd+F9(macOS)调用sort_lines命令,依据首非空白字符ASCII值排序。

怎么快速对选中的多行按字母升序排序
Sublime Text 原生就支持按首字符字典序升序排列,无需插件——只要选中目标行,按 Ctrl+F9(Windows/Linux)或 Cmd+F9(macOS)即可完成。这个操作本质是调用内置命令 sort_lines,它严格依据每行**第一个非空白字符的 ASCII 值**比较。
- 确保你选中的是“整行”或至少每行都有内容被包含在选区里;只选中某几列(比如只选中单词部分)会导致排序失效或错位
- 若未做任何选择,Sublime 会默认对整个文件所有行排序,容易误操作,务必先确认选区范围
- 大写字母(A–Z)ASCII 值小于小写字母(a–z),所以默认排序下
Apple会排在apple前面——这不是 bug,是设计行为
怎么实现降序(Z-A)或忽略大小写排序
Sublime 默认菜单里有 Sort Lines (Z-A),但该选项在较新版本中已被移除;当前稳定路径是:先升序,再用 Edit → Permute Lines → Reverse 反转顺序。快捷键为 Ctrl+Alt+R(Win/Linux)或 Cmd+Option+R(macOS)。
- 如需真正忽略大小写排序,原生不提供一键菜单,但可通过预处理统一格式:
Ctrl+K, Ctrl+L(转小写)或Ctrl+K, Ctrl+U(转大写),再执行Ctrl+F9 - 安装插件(如
Sort Lines)后,命令面板输入Sort Lines: Case Insensitive可直接调用,更省步骤 - 注意:
Reverse操作仅反转当前已排序的行顺序,它不改变排序依据——也就是说,先乱序再 reverse,结果仍是乱序
去重+排序必须分两步,且顺序不能颠倒
Sublime 的 Remove Duplicate Lines(位于 Edit → Permute Lines → Unique)只删除**连续重复行**。如果重复项分散在不同位置,直接去重无效——必须先排序,让相同内容相邻,再去重。
- 正确流程:选中 →
Ctrl+F9(升序)→ 再次选中全部 →Edit → Permute Lines → Unique - 错误做法:先
Unique再排序,会导致残留重复项仍存在 - 该功能不支持正则匹配去重(比如忽略空格/标点差异),如需更精细控制,得靠插件或外部工具辅助
为什么数字排序看起来“不对”?比如 10 排在 2 前面
这是最常被误解的一点:Sublime 的 sort_lines 是纯字符串排序,不是数值排序。它把 10.txt 当作字符串 "10",首字符 '1' 的 ASCII 值比 '2' 小,自然排在 2.txt 前面。
- 若需按数字大小排序(即 1, 2, 10),必须借助插件(如
Sort Numbers)或手动补零(把1.txt改成01.txt) - 侧边栏文件名排序同理,默认也是字符串排序;开启
"sort_folder_files_alphabetically": true设置仅保证字母顺序,不解决10 vs 2问题 - 别指望
Ctrl+F9自动识别数字上下文——它眼里只有字符,没有语义
Ctrl+F9 确实够用;但一旦涉及大小写混合、数字、重复项,就得立刻意识到:原生功能有明确边界,跨过去就得靠预处理或插件。










