Sublime Text 只记录“上次跳转位置”而非“上次编辑位置”,仅主动跳转(如F12、Ctrl+P、Ctrl+Click等)入栈,方向键/滚动等操作不记录;默认快捷键Ctrl+Alt+←/→用于跳转历史回溯,最大容量16条,重启或超限会清空。
Sublime 没有“上次编辑位置”,只有“上次跳转位置”
这是最常被误解的一点:Sublime Text 不记录你敲字、删行、粘贴等编辑行为发生的位置,它只记录你「主动跳转」的动作。比如:F12跳转到函数定义、Ctrl+P打开文件后点击某行、鼠标左键点击任意位置、Ctrl+F查找后按Enter跳转到匹配项——这些才会压入跳转堆栈(jump stack)。方向键移动、滚动条拖动、Page Up/Down,统统不会入栈。
真正能用的快捷键是 Ctrl+Alt+←(Windows/Linux)或 Cmd+Option+←(macOS)
这个组合键才是 Sublime 内置的「跳转到上一个光标位置」功能,底层调用的是 goto_prev_edit 命令(注意:名字带 edit 但实际含义是「跳转历史中的上一个位置」,不是「编辑点」)。它支持多级回溯,连按多次可逐级退回更早的位置。
-
Ctrl+Alt+←:后退一级(回到上一个跳转点) -
Ctrl+Alt+→:前进一级(恢复到刚退过的那个位置) -
Ctrl+Shift+Tab:直接跳回跳转堆栈最底端(即最早那次跳转前的位置)
验证方法:打开一个 Python 文件,Ctrl+Click 进入某个函数定义,再按 Ctrl+Alt+← —— 光标应立刻回到点击前的位置。但如果中间改过代码,回溯过去时那行内容可能已不同,这点在协作开发中容易引发误判。
想定位“真·修改过的地方”?得靠插件或辅助手段
如果你刚改了 config.py 的第 42 行、又改了 main.js 的第 18 行,现在想快速回到第 42 行——Sublime 默认做不到。必须借助外部能力: