sublime的sort_lines命令默认按每行首个非空白字符的ascii值升序排序,大写字母优先;若ctrl+f9无反应,主因是未显式选中整行,或多光标模式未退出。

Sublime 的 sort_lines 命令默认就是按首字母(更准确说是每行第一个非空白字符)的 ASCII 值升序排,不是“需要额外设置才能按首字母排”,而是它根本就只认这个逻辑。
为什么选中后按 Ctrl+F9 没反应?
最常见原因是:没真正选中“行”——只点了光标、只框了单词、或多光标状态下直接触发命令,sort_lines 都会静默失败。
- 必须用鼠标拖选或 Shift+↑/↓ 显式选中整行(哪怕只选中一行,也要有可见高亮)
- 多光标编辑模式下禁用该命令;得先按
Esc退出多光标,再统一选中区域 - 如果选区跨文件或含折叠代码块,排序可能只作用于展开部分,且不提示
大写 A 为什么总排在小写 a 前面?
这不是 bug,是默认行为:ASCII 中 A(65)a(97),所以 Apple 一定在 apple 前。但注意,2026 年主流版本中,sort_lines 默认已设为“不区分大小写”(即 Apple 和 apple 视为等价),实际排序时它们会挤在一起——这和早期版本不同。
一款AI演示文稿工具,主要用于DeepSeek AI加持,输入主题生成专业PPT,支持Word/PDF等45种文档导入,职场汇报、教学提案轻松搞定,适合需要提升相关任务效率的用户。
- 要恢复严格 ASCII 顺序(大写全在小写前),改用命令面板输入
Sort Lines (Case Sensitive) - 若想强制小写优先,得先全选 →
Ctrl+K, Ctrl+L转小写 → 再Ctrl+F9 - 混合命名变量(如
UserID、userid)在不敏感模式下会被归到一起,敏感模式才分层
数字字符串 10 为什么排在 2 前面?
因为 sort_lines 是纯字符串排序,不解析数值:"10" 首字符是 '1'(ASCII 49),"2" 首字符是 '2'(50),所以 10.txt 排前面。
- 临时解法:用正则批量补零,比如把
^(\d+)\.txt$替换为00$1.txt(限三位数),再排序 - 长期方案:装
Natural Sort插件,选中后Ctrl+Shift+P→ 输入Natural Sort回车 - 注意:
Natural Sort对负数(-5)、小数(3.14)支持不稳定,别用于配置文件或数值校验场景
去重、反转、空行怎么链式处理?
Sublime 的配套命令不是全自动流水线,顺序错了结果就错。
- 去重必须在排序之后:因为
Remove Duplicate Lines(Ctrl+Shift+U)只删连续重复行,和 Unixuniq行为一致 - 降序不能靠快捷键一步到位:新版已移除
Sort Lines (Z-A)菜单项,可靠做法是Ctrl+F9升序 → 全选 →Ctrl+Alt+R反转 - 空行会被排到最前(因为空白字符 ASCII 值最小),如需清理,排序后单独执行
Remove Empty Lines,别指望sort_lines自动跳过它
真正容易被忽略的是:所有这些操作都依赖“选区是否干净”。缩进不齐、行尾空格、混入注释或预处理器语法(如 @apply),都会让排序结果看起来“乱”,其实不是命令失效,而是输入本身就不符合纯文本排序的前提。










