Sublime无原生一键反转行序功能,需用Permute Lines→Reverse(严格要求整行选区)或自定义sort_lines命令设{"reverse":true};后者更可靠,仅按行索引镜像翻转,不依赖选区顺序。

Sublime 没有“一键反转行顺序”的原生命令,但有两种可靠方式可达成效果:用 Permute Lines → Reverse(需严格选区)或自定义 sort_lines 命令并设 {"reverse": true}。两者都不排序、不比较内容,只物理翻转行位置。
Permute Lines → Reverse 快捷键为何有时没反应?
它不是“失效”,而是对选区极其苛刻:
- 必须手动选中完整行块——不能只点一下光标,也不能只框选文字;最稳做法是:光标停在第一行行首 → 按
Ctrl+L(Windows/Linux)或Cmd+L(macOS)选中整行 → 再按住Shift+↓逐行扩展,直到最后一行末尾(光标落在换行符\n之后) - 右下角状态栏必须显示类似
5 lines,若显示5 selections或只有坐标(如12:34),说明 Sublime 没识别成“多行选区”,命令会静默跳过 - 空行会被保留相对位置:
a\n\nb反转后是b\n\na,不是b\na;别误判为“没生效” - 快捷键是
Ctrl+Alt+R(Win/Linux)或Cmd+Option+R(macOS),但仅在满足上述选区条件时才起作用
用 sort_lines + reverse: true 实现更可控的倒序
这是更推荐的方式,因为它不依赖原始选区顺序,只按索引镜像翻转(第 0 行 ↔ 第 N−1 行),结果恒定可预期:
- 打开
Preferences → Key Bindings – User,在右侧用户文件中添加一行:
[{"keys": ["ctrl+alt+f9"], "command": "sort_lines", "args": {"reverse": true}}]
- 保存后,选中目标区域(同样需含末尾换行符),按
Ctrl+Alt+F9即可 - 该命令对每行视为不可拆分单元:哪怕某行开头是空格、制表符或 emoji,整行仍参与位置交换
- 若你已装了
Sort Lines插件,它提供的Sort Lines: Reverse命令本质也是调用同一底层逻辑,只是绑定方式不同
为什么别用 ReverseStringCommand 或其他字符级反转?
这是常见误操作:
-
ReverseStringCommand插件处理的是字符序列,不是行逻辑;用它反转hello\nworld会得到olleh\ndlrow,完全不是你要的“行倒序” -
sort_lines和Permute Lines → Reverse都以\n为界,把每行当做一个原子单位;而 Sublime 的“行”概念严格依赖换行符存在——没有\n就不算一行 - 如果文件末尾缺换行符,最后一行可能被忽略;建议用
Ctrl+Shift+P→ 输入Strip Whitespace清理尾部空格,并确保文件以\n结尾
真正容易被忽略的点是:Sublime 不会告诉你选区错在哪,它只会“看起来没反应”。每次失败,先看右下角状态栏是否显示 lines,再确认光标是否落在换行符之后——这两个细节卡住 90% 的人。


















