Sublime Text 默认将点号(.)视为单词分隔符,双击 obj.prop 会分别选中 obj 和 prop;修改用户设置中的 word_separators 并移除 . 即可使其作为整体被选中,影响双击、Ctrl+←/→、Ctrl+D 等操作。

Sublime Text 默认的单词边界是什么
Sublime Text 默认把 . 当作单词分隔符,所以双击 obj.prop 会分别选中 obj 和 prop,中间的点号被跳过。这不是 bug,而是基于传统“单词 = 字母数字序列”的设计逻辑。
修改 word_separators 配置项
关键在用户设置里删掉 . —— 它控制双击/双击选择时哪些字符算“分隔符”。只要把点号从默认列表中移除,obj.prop 就会被当做一个连续标识符对待。
操作步骤:
- 菜单栏 → Preferences → Settings
- 右侧用户设置(右侧面板)中添加或修改
"word_separators"行 - 确保
.不在字符串里(注意:是删除字符,不是注释掉整行)
{
"word_separators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?"
}
→ 把上面这行里的 . 删掉,变成:
{
"word_separators": "/\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?"
}
保存后立即生效,无需重启。
为什么不能只删 . 还要保留其他符号?
删掉 . 是为了连通属性访问;但保留 /、(、; 等,是为了避免把 func() 或 url/path 也连成一整块。否则双击 console.log("x") 可能选中整行——这不是你想要的。
常见误配:
- 把整个
word_separators设为空字符串 → 会导致双击几乎选中整行代码 - 只改了左侧默认设置(左面板)→ 实际不生效,必须改右侧用户设置
- 忘了去掉
.前后的空格或引号格式错误 → Sublime 会静默忽略该配置项
这个改动会影响哪些操作?
不只是双击选择,所有依赖单词边界的动作都会变化:
-
Ctrl+← / Ctrl+→(跳词)现在会跨.移动光标 -
Ctrl+D(多重选择)会把obj.prop当作一个整体加选 -
Alt+F3(全文件查找选中词)也会匹配完整obj.prop,而非单独的obj或prop
副作用:如果你常写路径如 src/utils/helper.js,它也会被当做一个“单词”——这时可临时用 Ctrl+Shift+Right(按字符选)补救。
真正要注意的,是团队协作时这个配置不会同步——别人没改,就看不到你期望的选中行为。










