Atom编辑器通过sort-lines插件对代码行进行快速排序
之前有不少朋友留言问sort-lines这个插件的用法,今天统一回复一下。 它的核心逻辑其实非常简单:只对选中的文本行做字典序排序,不解析语法、不理解变量作用域、也完全不处理嵌套结构。比如你选中一段 JSON 数组的 value 块,它会直接把 {"name": "zhang"} 排在 {"name
之前有不少朋友留言问sort-lines这个插件的用法,今天统一回复一下。
它的核心逻辑其实非常简单:只对选中的文本行做字典序排序,不解析语法、不理解变量作用域、也完全不处理嵌套结构。比如你选中一段 JSON 数组的 value 块,它会直接把 {"name": "zhang"} 排在 {"name": "li"} 前面——仅仅是因为 z 在字典序里比 l 大,而不是按 name 字段值排序。这一点特别容易踩坑。
sort-lines插件能排什么?不能排什么?
有没有遇到过这样的情况:想让数字 10、2、100 按大小排,结果出来却是 10、100、2?没错,这就是字符串排序的典型表现。更常见的误用场景还包括:
- 对未选中的整文件排序——插件默认不生效,必须手动拖选或
Ctrl+A全选 - 跨多块代码混排,比如函数体、注释、空行全部搅在一起,打乱原有逻辑分组
归根结底,它就是个纯粹的文本行排序工具,不是代码分析器。
怎么启用不区分大小写的排序?
默认排序区分大小写,A 会排在 z 前面。如果你希望 apple 和 Zebra 按字母顺序自然排列,这里有个小机关:
- Windows/Linux:先选中文本 →
Ctrl+Shift+P→ 输入Sort Lines: Sort Lines (Case Insensitive)→ 回车 - macOS:操作一样,快捷键换成
Cmd+Shift+P - 如果在命令面板里没找到这个选项,说明插件可能没正确加载——重启 Atom 或去插件管理页确认一下
sort-lines是否为 enabled 状态
反向排序和去重怎么操作?
哥们儿,这两个功能不走菜单入口,得靠命令面板精确调用:
- 反向排序:选中后执行
Sort Lines: Reverse Lines(注意别和Sort… reverse搞混,那是另一回事) - 去重:执行
Sort Lines: Unique Lines——它不会自动先排序,要“去重并排序”,得先跑一次Sort Lines: Sort Lines,再跑Unique Lines - 想一步搞定去重+排序?Atom 不支持,去终端里跑一下
sort -u或者写个小脚本会更省事
为什么排序后缩进全乱了?
排完序,代码错位了?别慌。sort-lines 只按行内容排序,完全不理会缩进的空格或 Tab。如果某几行前面有不等量空格,视觉错位几乎是必然的。
几个安全做法:
- 排序前先统一缩进:选中目标区域 →
Ctrl+Shift+I(macOS 是Cmd+Shift+I)自动对齐 - 避免对含混合缩进(Tab + 空格)的代码块直接排序,先用
Editor: Convert Tabs to Spaces统一格式 - 排序后立刻执行格式化(比如 Prettier 或内置
Editor: Format),否则括号错位、冒号悬空这些问题会立刻冒出来
还有个容易忽略的点:排序本身不改行尾换行符类型(CRLF vs LF)。但如果你在跨平台协作中频繁排序又提交,Git 可能会因为行尾差异产生一堆无意义的 diff。建议在项目级配置 .editorconfig,把 end_of_line = lf 锁死,一劳永逸。
WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许
Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator
Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。













