sort-lines 插件在 atom 中需手动启用且依赖重启生效,仅对选区排序、不自动监听事件,支持 reverse 等命令但无去重/自然排序开关,排序后光标归首行且缩进错乱,操作前建议全选或预处理并谨慎验证语义。

Sort-Lines 插件在 Atom 中默认不启用,必须手动触发才能排序——它不会自动监听选区或保存事件,这点和 VS Code 的内置排序行为完全不同。
安装后必须重启 Atom 才能生效
Atom 的插件机制要求部分插件(包括 sort-lines)在安装完成后重启编辑器,否则右键菜单和命令面板里都找不到对应选项。常见现象是:插件已显示“installed”,但按 Cmd+Shift+P(macOS)或 Ctrl+Shift+P(Windows/Linux)搜 sort-lines 无结果。
- 打开 Atom →
Atom菜单 →Quit Atom(macOS)或File→Exit(Windows) - 重新启动 Atom,再试
Cmd+Shift+P输入sort lines - 确认出现
sort-lines:sort、sort-lines:reverse等命令
排序前必须先选中目标行(含空行)
sort-lines 默认只对当前选区操作,不作用于整文件。如果没选中任何内容,它会报错:Cannot sort lines: no selection。注意:空行会被当作有效行参与排序,且排在最前(因 ASCII 值最小)。
- 用鼠标拖选多行,或按住
Shift+ 方向键扩展选区 - 想排序整文件?先全选:
Cmd+A(macOS)或Ctrl+A(Windows/Linux) - 若想跳过空行,需配合正则预处理(见下一条)
去重、忽略大小写、按数字排序需手动组合操作
sort-lines 本身不提供“去重”或“自然排序(1, 10, 2 → 1, 2, 10)”开关,但可通过 Atom 自带的查找替换 + 正则临时实现:
- 去重:先用
Cmd+F打开查找面板,勾选Regex,输入^(.*?)$\n\1$,替换为$1(需多次点击Replace All直到无变化) - 数字排序:先用查找替换把数字前补零(如
line-5→line-005),再排序,最后去掉补零 - 忽略大小写:排序前统一转小写(
Cmd+Shift+P→Editor: Lowercase),排完再按需恢复
排序后光标位置会跳到首行,且不保留原缩进对齐
这是 sort-lines 的底层行为:它按纯字符串比较,不识别缩进层级或语法结构。对代码排序(比如 import 语句)后,原有缩进可能错乱,尤其混合了空格与 Tab 时。
- 排序前建议关闭
whitespace插件的自动 trim,避免排序后多出空格差异 - 若需保持缩进,先用
Cmd+Shift+P→Editor: Select Lines选中行,再用sort-lines:sort,而非直接鼠标拖选(后者会连缩进一起当字符串排序) - 排序后可立刻按
Cmd+Alt+[(macOS)或Ctrl+Alt+[(Windows/Linux)重新缩进整块
真正麻烦的不是怎么点菜单,而是排序后是否破坏了语义顺序(比如 config 文件里 key 的依赖关系)或格式一致性(比如 JSON 数组项的字段顺序)。动手前,先 Ctrl+Z 比什么都快。











