ctrl + → 是跳到当前行尾的原生命令,光标按逻辑位置跳转至物理行尾(换行符前),不依赖语法、不受输入法或系统热键干扰,windows/linux用ctrl + →,macos必须用ctrl + →而非cmd + →。

Ctrl + → 是跳到当前行尾的原生命令
光标在任意位置,按一次 Ctrl + → 就落到当前行最后一个非换行符字符前(即物理行尾),再按一次会停在换行符前——这是 Sublime 的「逻辑位置」跳转,不按单词、不看语法、只数字符位置。
常见错误现象:
• 按了没反应?大概率是中文输入法(如搜狗、微软拼音)拦截了 Ctrl + →,切英文输入法再试
• 光标飞到文件底部?那是误用了 Ctrl + End,它跳的是文件尾,不是行尾
• macOS 上用 Cmd + → 无效——系统级热键冲突,必须坚持用 Ctrl + →
笔记本用户若无独立方向键:
• Windows/Linux:可用 Fn + → 模拟 End,但行尾跳转仍推荐 Ctrl + →(更精准)
• macOS:部分外接键盘需 Fn + Ctrl + →,但原生 MacBook 默认 Ctrl + → 即可生效
Shift + End 选中从光标到行尾的内容
想删注释、清空格、提取参数,直接按住 Shift 再按 End,就能选中光标到本行末尾字符之间的全部内容(不含换行符)。
为什么不用 Ctrl + Shift + →?
• 它按单词边界跳(受 word_separators 配置影响),遇到 .、_、/ 就停,比如在 user.name 中光标在点前,只会选中 name
• Shift + End 不解析语义,只认换行符,更可控,尤其适合 JSON、SQL、shell 脚本等行结构明确的场景
注意:
• 单独按 End 只移动光标,不选中;必须按住 Shift
• 若光标已在行尾换行符前,Shift + End 选中为空,属正常行为
• 软换行(Word Wrap)不影响选择范围——它始终选物理行尾,不是视觉折行处
多行编辑时别硬套单行快捷键
批量操作几十行以上时,Ctrl + → 和 Shift + End 仍有效,但效率下降。更可靠的做法是:
- 先用正则清理尾部空白:
Ctrl + H→ 开启正则(点右下角.*)→Find What:\s*$→Replace With: 空 →Replace All - 再用
Ctrl + Shift + L拆分多光标 → 全体按End或Ctrl + →→ 输入内容 - 若要加前缀或条件处理(如跳过已有注释),直接上正则:
Find What:^(行首)或$(行尾),比多光标更稳
真正容易被忽略的是:$ 匹配的是换行符之前的位置,不匹配文件末尾换行符之后的“空行”;最后一行若没有换行符,$ 依然生效。
文件末尾和行尾不是一回事
新手最常混淆的点:Ctrl + End(Win/Linux)或 Cmd + ↓(macOS)跳的是整个文件末尾,而 Ctrl + → 永远只在当前行内跳。
典型误操作:
• 写 JSON 对齐冒号,反复按 Ctrl + Home → 实际滚到文件顶部,和当前行无关
• 调试时想删掉某行末尾日志,却按了 Ctrl + End → 光标跑到文件底,白忙活
记住这个边界:
• 行首/行尾 = Ctrl + ← / Ctrl + →
• 文件头/文件尾 = Ctrl + Home / Ctrl + End(macOS 用 Cmd + ↑ / Cmd + ↓)
• 所有这些快捷键都不依赖语法高亮、插件或焦点是否在侧边栏——只要光标在编辑区,就立刻响应











