sort-lines:sort 没反应是因为未选中文本且未启用全文排序;大小写敏感导致乱序应改用 case-insensitive-sort;数字串需 natural 排序;去重需额外执行 unique 命令或正则替换。

sort-lines:sort 命令为什么没反应?
常见错误是:没选中任何文本,又没配置默认行为——sort-lines:sort 默认只对当前选中的行生效;如果整篇文档都没选中,它就什么也不做,也不会报错。
- 确认是否已用
Ctrl+L(选中整行)或Cmd+A(全选)明确划定了排序范围 - 若想默认对整个文件排序,需在 Atom 设置里勾选
Sort lines on entire file when no selection(部分旧版插件需手动开启) - 检查当前文件是否被设为只读(比如 Git LFS 锁定、权限受限),Atom 会静默跳过写入
大小写敏感导致排序乱序怎么办?
默认的 sort-lines:sort 是大小写敏感的,结果类似 Alice、bob、Charlie —— 大写字母排在小写前面,不符合日常阅读习惯。
- 改用
sort-lines:case-insensitive-sort(命令面板输入时可缩写为case) - 注意:该命令不改变原文本大小写,只按小写形式比较,输出仍保留原始大小写
- 若混有中文、emoji 或 Unicode 符号,建议先统一编码格式(UTF-8),否则某些版本的 sort-lines 可能抛出
RangeError: Invalid string length
数字串“10”排在“2”前面?试试 natural 排序
普通字母排序把 item10 当作 i-t-e-m-1-0 处理,所以会排在 item2 后面;而人类直觉是“10 > 2”,需要自然排序(natural sort)。
- 运行
sort-lines:natural,它会识别连续数字并按数值比较 - 适用于日志文件、版本号列表(
v1.9、v1.12)、路径枚举等场景 - 注意:该模式比普通排序慢一点,超大文件(>5万行)建议先过滤再排,避免卡顿
排序后重复行还在?去重不是默认功能
sort-lines 插件本身不提供去重,排序 ≠ 去重。即使你看到相邻重复行,它也不会自动删掉。
- 排序后手动执行
sort-lines:unique(部分版本叫sort-lines:remove-duplicates) - 或者先用
sort-lines:sort,再用正则替换:^(.*)(\n\1)+$→$1(需开启多行匹配) - 重要提醒:去重操作不可逆,务必先
Cmd+Z确认或提前git stash,尤其在配置文件上误操作可能引发服务启动失败

















