ctrl+f9不能直接降序,需先ctrl+f9升序再ctrl+alt+r翻转;数字排序按ascii逐字符比较,故10在2前。

Ctrl+F9 不能直接降序?两步才是正解
Sublime 的 sort_lines 命令默认只提供升序(A-Z),所谓“Sort Lines (Z-A)”菜单项在 4.x 版本中已被移除,硬找会浪费时间。真要 Z→A,必须分两步走:
- 先选中目标行,按
Ctrl+F9(Windows/Linux)或Cmd+F9(macOS)完成升序 - 再次全选这些已排序的行,按
Ctrl+Alt+R(Win/Linux)或Cmd+Option+R(macOS)执行reverse
注意:reverse 不是“重新排序”,它只翻转当前顺序——如果原始行是乱的,先 reverse 再 sort,结果还是乱的。另外,Ctrl+Alt+R 对应的是 Edit → Permute Lines → Reverse,不是 Remove Duplicate Lines,按错可能误删内容。
数字排序排成 10 在 2 前面?这是设计,不是 bug
Sublime 的 sort_lines 是纯字符串排序,逐字符比 ASCII 值。所以 10.txt、2.txt、1.txt 排出来是 1.txt → 10.txt → 2.txt,因为首字符 '1' '2'。
- 临时解决:手动补零(
1.txt→001.txt),再用Ctrl+F9 - 长期方案:装插件
Natural Sort,命令面板输入Natural Sort即可触发(但注意它对负数、小数点支持不稳) - CSS 文件里写
z-index: 10;和width: 200px;,排序后z-index一定在width后面——这不是排错了,是字母序本来如此
去重失败?大概率没先排序
Edit → Permute Lines → Unique(快捷键 Ctrl+Shift+U)只删**相邻重复行**,和 Unix 的 uniq 行为一致。如果你有一堆乱序的 apple、banana、apple、cherry,直接去重,第二个 apple 不会被删。
- 正确流程只有这一种:
Ctrl+F9升序 → 全选 →Ctrl+Shift+U - 大小写混杂?先统一格式:
Ctrl+K, Ctrl+L全转小写,再排序去重 - 空行不影响去重逻辑,但会保留在原位置;如需删空行,单独用
Ctrl+Shift+P → Remove Empty Lines
大小写敏感怎么控制?别靠猜,看命令名
Sublime 默认的 Sort Lines 是**不区分大小写**的(Zebra 和 apple 比较时,Z 和 a 被视作同级)。如果你需要严格按 ASCII 序(即所有大写字母排在小写前面),得显式调用另一个命令:
- 打开命令面板
Ctrl+Shift+P,输入Sort Lines (Case Sensitive)并回车 - 它和普通
Sort Lines是两个独立命令,不是开关切换 - 常见场景:变量命名含
UserID、userid、Userid,不敏感时它们被归到一起,敏感时严格分层,方便人工核对
侧边栏文件排序、CSS 属性排序、甚至你粘贴进来的日志列表,底层都走同一套 sort_lines 逻辑——理解它是字符串排序而非语义排序,就能避开绝大多数“为什么排得不对”的困惑。











