Sublime快速排序选中多行文本的内置神奇功能

星敏吖_3758

星敏吖_3758

2026-06-29

642人浏览

原创

Ctrl+F9没反应或排错位置是因为sort_lines命令对选区有硬性要求:只点光标会整文件排序;只选中部分字符不识别为多行;末尾缺换行符则漏行;首行全空格则排最前;状态栏须显示“x lines”才有效;它按每行首个非空白字符ASCII值机械升序排列,B(66)在a(97)前。

sublime快速排序选中多行文本的内置神奇功能

Ctrl+F9 为什么没反应或排错位置

不是快捷键坏了,是 sort_lines 命令对选区有硬性要求:只点了一下光标、没拖选 → 它会对整个文件排序;只框选了中间几个字符(比如只选中 log)→ 不被识别为多行,命令静默失败;选区末尾没包含最后一行的换行符 → 该行被完全跳过;某行开头全是空格或 \t → 它跳过空白后取第一个可见字符比较;整行只有空格 → 该行排到最前面。

验证是否选对:右下角状态栏必须显示类似 5 lines,而不是 5 characters 或只有光标位置。

sort_lines 的升序逻辑到底是什么

它不做语义理解,只做机械比较:取每行第一个非空白字符(如 apple 拿 a,Banana 拿 B),按 ASCII 值字典序排 —— B(66) a(97),所以 Banana 一定在 apple 前面;数字字符串逐位比:10.txt 首字符是 1,2.txt 是 2,因此 10.txt 排在 2.txt 前面;空行或全空白行视为最小,永远排最前。

这不是 bug,是设计使然。如果你期望 apple 在 Banana 前面,就得预处理或换插件。

忽略大小写、数值排序、中文首字怎么搞

sort_lines 原生不支持这些,但有对应解法:

Sublime Text Build Linux版
Sublime Text Build Linux版

Sublime Text Linux x86-64 deb 安装包。官方也提供 rpm、tar.xz 和软件源安装方式。

下载
  • 忽略大小写:先按 Ctrl+K, Ctrl+L 全转小写,再按 Ctrl+F9
  • 数值排序(如 log1/log10):装插件 Sort Numbers,命令面板输 Sort Numbers: Sort Ascending
  • 中文首字拼音排序:原生不支持,需导出用 Python 处理:sorted(lines, key=lambda x: lazy_pinyin(x.strip()[0], style=FIRST_LETTER))
  • 按行长度排序:装插件 SortByLength,命令面板输 Sort by length;注意它按 UTF-8 字节数算,一个中文通常是 3 字节

去重和降序为什么不能跳步

Remove Duplicate Lines(Ctrl+Shift+U)等价于 Unix 的 uniq,只删连续重复行;reverse(Ctrl+Alt+R)只翻转当前顺序 —— 跳步等于白干。

正确链路必须是:

  • 去重:先 Ctrl+F9 升序 → 全选 → Ctrl+Shift+U
  • 降序:先 Ctrl+F9 升序 → 全选 → Ctrl+Alt+R(Win/Linux)或 Cmd+Option+R(macOS)
  • 若常需降序,建议手动加键位绑定:[{"keys": ["ctrl+shift+f9"], "command": "sort_lines", "args": {"reverse": true}}]

真正容易被忽略的是边界控制 —— 你得自己决定哪些行属于同一逻辑块,然后手动框选完整,包括每行末尾的换行符。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime sublime text

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

60

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

40

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

120

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

120

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

40

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

80

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程