Sublime Text 中移动当前行的快捷键是 Ctrl+Shift+↑/↓(Windows/Linux)或 Cmd+Shift+↑/↓(macOS),用于上下交换当前行位置,支持多行整体位移且不改变剪贴板内容。

Sublime Text 中移动当前行的快捷键是什么
Sublime Text 默认支持原生行级移动,无需插件。按 Ctrl+Shift+↑(Windows/Linux)或 Cmd+Shift+↑(macOS)可将当前行向上移动一行;Ctrl+Shift+↓ / Cmd+Shift+↓ 则向下移动。这个操作会连带选中的多行一起位移,非常适合快速调整代码顺序。
为什么有时快捷键没反应或行为异常
常见原因有三个:
• 当前焦点不在编辑区(比如光标在侧边栏、控制台或搜索框)
• 键盘被系统级快捷键拦截(尤其是 macOS 的「Mission Control」默认占用了 Cmd+↑ 和 Cmd+↓,需在「系统设置 → 键盘 → 快捷键 → Mission Control」中禁用)
• 当前行是文件首行或末行时,移动操作会被静默忽略(不会报错,但也没效果)
如何自定义快捷键或批量移动多行
默认只支持单步移动,若需一次跳 3 行或移到文件顶部/底部,得改键位绑定。打开 Preferences → Key Bindings,在用户配置中添加:
[
{ "keys": ["ctrl+alt+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+alt+down"], "command": "swap_line_down" }
]
注意:swap_line_up 和 swap_line_down 是 Sublime 内置命令,比简单剪切粘贴更可靠(保留缩进和光标位置)。如果想实现“移动到函数开头”,就得配合插件如 Origami 或写 Python 插件,纯快捷键无法直接做到。
与其他编辑器(VS Code / Vim)的行为差异
Sublime 的行移动是「交换式」:不是剪切再粘贴,而是与相邻行交换位置。这意味着:
• 不影响剪贴板内容
• 多行选择时,整体块平移,不会打散缩进层级
• 在折叠区域中仍可操作(VS Code 的 Alt+↑/↓ 在折叠后可能失效)
但缺点也很明显:不能跨函数或跨段落跳跃,也不支持“移动到上一个空行”这类语义化定位——那是结构化编辑器(如 IntelliJ)的范畴了。










