Ctrl+Alt+R(Windows/Linux)或Cmd+Option+R(macOS)是Sublime Text中实现行逆序的原生命令,需手动选中含末尾换行符的完整行块,仅翻转行位置而不排序;可自定义快捷键绑定sort_lines命令并设{"reverse": true}以一步触发。

Ctrl+Alt+R 是最直接的行逆序操作,但必须先选中完整行块
Sublime Text 原生不提供“一键倒序多行”的独立命令,但 Edit → Permute Lines → Reverse(快捷键 Ctrl+Alt+R on Windows/Linux, Cmd+Option+R on macOS)就是你要的“从尾到头重排”功能。它不排序、不比较内容,只把当前选区内的行物理翻转:第1行变最后一行,最后一行变第1行。
- 必须手动选中目标行——只点一下光标或只框选文字,
Reverse会静默失败或作用于整文件 - 选区末尾必须包含最后一行的换行符(
\n),否则该行被忽略;最稳做法是:光标停在第一行行首 →Ctrl+L选中整行 →Shift+↓向下逐行加选,直到最后一行末尾(光标落在换行符后) - 空行会被保留位置:比如
a\n\nb逆序后是b\n\na,不是b\na
想用快捷键一步到位?自己绑定 sort_lines + reverse: true
菜单里的 Permute Lines → Reverse 虽然有效,但调用路径长。更高效的方式是直接绑定 sort_lines 命令并传参 {"reverse": true}:
- 打开
Preferences → Key Bindings,在右侧用户配置中添加: [{"keys": ["ctrl+alt+f9"], "command": "sort_lines", "args": {"reverse": true}}]- 保存后,选中目标行,按
Ctrl+Alt+F9即可完成逆序 - 注意:
reverse: true和大小写无关,它只翻转行顺序,不依赖首字符、不改变每行内部内容
别把 Sort Lines (Z-A) 当逆序——它早就没了,且逻辑完全不同
很多人搜 “Z-A” 或在菜单里翻找 Sort Lines (Z-A),结果为空。这不是你漏看了,是 Sublime 自 4.x 版本起已移除该菜单项。即使旧版本有,它也只是按首字符 ASCII 降序排列(比如 Zoo 排在 apple 前),**不是行位置逆序**。
-
Sort Lines是字符串排序,依赖每行首个非空白字符;Reverse是纯位置翻转,无视内容 - 误用
Sort Lines处理数字行(如10、2、100)会导致10在2前——这是设计使然,不是 bug - 若你真需要“先按语义数字排再逆序”,得先装插件
Sort Numbers,再执行Reverse,不能跳步
选区含换行符才是关键,不是“看起来选了”
Sublime 的行操作全部基于实际字符边界,而非视觉行号。所谓“选中了三行”,编辑器真正识别的是一段包含两个 \n 的字符串。一旦末尾没带换行符,最后一行就不参与运算。
- 用
Ctrl+Shift+Right扩展到行末,再Shift+↓向下选,比鼠标拖选更可靠 - 如果某行开头全是空格或 tab,它仍算作一行,
Reverse会把它和其他行一起翻转位置 - 多光标选中多段不连续区域时,
Reverse只对每个连续选区单独翻转,不会跨区域混排
\n 字符的存在与否——它不看屏幕怎么显示,只数换行符。选区差一个 \n,结果就少一行。


















