要让双击选中user-name或obj.method整体,需在用户设置中删除word_separators里的-和.,并针对.ts等语法通过Syntax Specific单独配置;改后即时生效但已开文件需重置光标,且该设置同步影响Ctrl+D、Alt+F3等操作。

Sublime Text 双击选中不完整,不是操作问题,是 word_separators 配置没调对——改它就解决,不用装插件、不重启,但容易因删错符号或忽略语法优先级而失效。
怎么让双击选中 user-name 或 obj.method 整体
默认 word_separators 字符串里包含 - 和 .,所以双击必然断开。必须手动删掉这两个字符:
- 打开
Preferences → Settings – User(务必改右侧用户设置) - 添加或修改字段:
"word_separators": "./\()\"',;:~!@#$%^&*|+=[]{}`?"(注意已去掉-和.,反斜杠要转义) - 保存后立即生效,但已打开的文件需点击一下光标位置才能刷新选中逻辑
别直接复制“全删版”——比如去掉 /,https://example.com 就会被当一个词,写 URL 时反而卡手。
为什么改了 word_separators 在 .ts 或 .json 文件里不生效
因为语法专属设置(Syntax Specific)优先级高于全局用户设置。TypeScript、JSON 等语法包自带的 .sublime-syntax 文件可能重写了 word_separators,覆盖了你的配置。
- 右下角查看当前文件语法(如显示
TypeScript) - 右键文件 →
Settings – Syntax Specific - 在弹出的 JSON 中加同样字段:
"word_separators": "./\()\"',;:~!@#$%^&*|+=[]{}`?" - 保存后该类型文件立刻按新规则响应双击
临时验证方法:切到 Plain Text(View → Syntax → Plain Text),若双击变正常,基本就是语法包在干扰。
word_separators 还影响哪些操作,容易踩什么坑
它不只是管双击,还控制:Ctrl+←/→(跳词)、Ctrl+D(逐个选相同词)、Alt+F3(全文高亮匹配)、甚至 Ctrl+F 查找时的“当前词高亮”。
- 删掉
.后,console.log("x")双击可能选中整段log("x")——因为括号和引号不在word_separators里 -
Ctrl+D会严格按新规则匹配,比如删了_,user_name和username就不再算相同词 - 若项目混用驼峰和下划线(如
userName和user_name),建议保留_在word_separators中,否则双击逻辑反而更混乱
真正难处理的不是改哪几个字符,而是不同语言场景下需要不同的分隔策略——全局一刀切容易顾此失彼,局部语法设置才是长期可维护的做法。


















