Sublime Text原生不支持多行物理倒序排列,需手动绑定sort_lines命令并设置reverse: true参数,且选区必须包含完整换行符才能生效。

Sublime 原生没有 reverse lines 快捷键,别白搜了
你按 Ctrl+Shift+P 输 reverse lines 或 sort reverse,结果为空——不是插件没装、不是版本旧,是 Sublime Text 确实没内置这个命令。官方 sort_lines 命令支持 reverse: true 参数,但默认快捷键(比如 Ctrl+F9)只绑了升序,降序和物理倒序都得手动配。
用 sort_lines + reverse: true 实现真·行倒序
这不是“变相降序”,而是把第 1 行和最后一行对调、第 2 行和倒数第二行对调的物理翻转:
- 打开
Preferences → Key Bindings,在右侧用户文件里加这一行:[{"keys": ["ctrl+alt+f9"], "command": "sort_lines", "args": {"reverse": true}}] - 保存后,选中目标区域,按
Ctrl+Alt+F9(Windows/Linux)或Cmd+Alt+F9(macOS) -
reverse: true不关心内容,只翻行序:哪怕某行开头是空格、制表符甚至 emoji,整行仍作为一个单元参与位置交换
选区必须含换行符,否则命令静默失败
sort_lines 对选区结构极其敏感,失效时不会报错,只会“看起来没反应”或“少倒了一行”:
- 只点一下某行中间 → 它对整个文件排序(不是你想要的局部操作)
- 选到最后一行末尾但没包含其
\n→ 该行被跳过,实际只倒序了前 N−1 行 - 最稳做法:光标停在第一行行首,
Shift+↓往下选,直到最后一行行尾(确保光标落在换行符之后);或先Ctrl+L选中第一行,再Shift+↓逐行扩展 - 右下角状态栏显示
5 lines才算选对;若显示5 selections或只有坐标,说明没识别成“多行”
Permute Lines → Reverse 和 sort_lines 的本质区别
有人试过 Edit → Permute Lines → Reverse(快捷键 Ctrl+Alt+R),发现结果不对——它和 sort_lines 的 reverse: true 不是一回事:
-
Permute Lines → Reverse只翻转当前选区内**已有顺序**,不重新计算;如果原始选区是乱序的,翻完还是乱序 -
sort_lineswithreverse: true是先按行位置索引排序(0→N−1),再整体镜像(N−1→0),结果恒定可预期 - 空行会被保留原相对位置:比如
a\n\nb倒序后是b\n\na,不是b\na;这点容易误判为“没生效”
\n,就少一行;多一个空行,就多一个占位符。所有倒序逻辑都建立在这个底层字符边界上,不是视觉行号。


















