ctrl+←再ctrl+backspace是最稳的分段删除法,因sublime默认将下划线视为词分隔符,需先跳转至词边界左侧再删除;输入法劫持是常见失效原因,应优先切换英文输入法验证。

Ctrl+← + Ctrl+Backspace 是最稳的分段删法
想只删 user_name 里的 user 而保留 _name,不能靠一次按键解决——Sublime 的 delete_word 默认按 word_separators 切整个块。必须先移动光标到目标边界,再触发单词删除。
操作步骤很直接:
- 光标放在
user_name中间(比如在下划线前),按Ctrl+←(Windows/Linux)或Option+←(macOS)跳到词首左侧 - 再按
Ctrl+Backspace(Win/Linux)或Option+Delete(macOS),它就会从光标位置向左删到上一个词边界 - 如果删过头,
Ctrl+Z撤销即可,这个组合不破坏上下文
注意:Ctrl+← 不是“跳到单词开头”,而是“跳到前一个词边界左侧”;它对 getUserId、obj.method 同样有效,但依赖当前 word_separators 设置。
为什么不能直接用 Ctrl+Backspace 精准停在下划线处?
因为 Sublime 的「单词」定义由 word_separators 控制,默认包含 _、.、- 等符号。所以 user_name 整体被识别为一个单词,Ctrl+Backspace 会一路删到空格或括号,不会自动在下划线处分断。
若真要让下划线变成词边界,需手动改配置:
- 打开
Preferences → Settings - 在用户配置中添加:
"word_separators": "./\()\"'-:,.;~!@#$%^&*|+=[]{}`~?"(去掉下划线) - 保存后重启或重载配置,否则不生效
但改完会影响所有场景:比如 data.items[0].name 可能被切成 data、items[0]、name 三段,删起来反而更碎,容易误操作。
Ctrl+Delete 不是默认向右删词,别指望它“半截停”
Ctrl+Delete(Win/Linux)或 Cmd+Delete(macOS)在 Sublime 原生 keymap 中未绑定 delete_word 命令,它默认没行为。即使你手动加了绑定:{"keys": ["ctrl+delete"], "command": "delete_word", "args": {"forward": true}},它也是整词向右删,不是“删一半”。
也就是说,光标在 user_name 的 u 和 s 之间,按 Ctrl+Delete 会删掉整个 user_name,而不是只删 user。
想实现“光标右半部分删除”,唯一可靠路径仍是:Ctrl+→ 定位 → Ctrl+Shift+→ 选中目标子段 → Delete。
输入法劫持是最常被忽略的卡点
很多人试了 Ctrl+Backspace 没反应,第一反应是“快捷键坏了”,其实 90% 是中文输入法在后台吞掉了这个组合。搜狗、QQ 拼音、微软拼音默认把 Ctrl+Backspace 绑定为「删候选句」或「清空输入框」。
验证方式极简单:
- 切到英文输入法(如微软拼音的英文模式),再按一次
Ctrl+Backspace - 如果立刻生效,问题就闭环了
- Windows 用户可在输入法设置里关闭「快捷键冲突」选项;macOS 用户可关掉「菜单栏显示输入法」缓解拦截
别在改 keymap 或调 word_separators 前跳过这步——多数所谓“配置失效”,其实是输入法静默拦截。











