双击选中 user-name 失效是因为 sublime 将连字符 - 视为单词分隔符,需在 user 设置中删除 "word_separators" 里的 - 字符;建议按语法(如 css)单独配置以避免跨语言干扰,修改后已开文件需重置光标位置生效。

双击选中 user-name 失效?删掉 word_separators 里的 -
Sublime 默认把连字符 - 当作单词分隔符,所以双击 user-name 只会选中 user 或 name,而不是整个标识符。真正要改的是编辑器底层的单词边界定义,不是快捷键或插件。
实操步骤很简单:
- 打开 Preferences → Settings(注意是右侧的 User 设置面板)
- 找到或新增
"word_separators"字段 - 把其中的
-字符删掉(只删这个字符,其他如_、.按需保留) - 保存,无需重启;但已打开的文件可能需要重新点击光标位置才能刷新选中逻辑
为什么别全局删 -?CSS 和 HTML 场景要小心
全局修改 word_separators 会影响所有语法高亮下的双击行为。比如在 CSS 文件里,bg-red-500、font-size 是合法类名/属性名,删掉 - 后双击能选中整个值——这是你想要的;但在 Python 或 JS 的字符串里,"user-name" 也会被当作一个“单词”参与 Ctrl+D 匹配,容易误选。
更稳妥的做法是用语法专属设置:
- 打开任意 CSS 文件 → Preferences → Settings – Syntax Specific
- 添加:
"word_separators": "./\()\"',;:~!@#$%^&*|+=[]{}`?"(确认里面不含-) - 这样只对 CSS/SCSS 生效,JS/Python 等保持默认,避免跨语言干扰
Ctrl+D 和 Alt+F3 也跟着变:删 - 后行为会扩展
word_separators 不只控制双击,还影响查找和多光标选择逻辑。删掉 - 后:
-
Alt+F3高亮时,user-name会被当作一个整体,而不是两个词 -
Ctrl+D从双击出发时,第一次按会选中完整user-name,后续匹配也基于这个粒度 - 但正则查找(
Ctrl+H)不受影响:\buser\b仍只匹配独立单词,不会因word_separators改动而命中user-name - 如果项目里混用
user_name(下划线)和user-name(连字符),建议只在对应语法中删-或_,别一刀切
已开文件不生效?重置光标位置再试
改完 word_separators 后,新打开的文件立刻生效;但旧文件里光标可能还卡在旧的单词边界上。这不是 bug,是 Sublime 缓存了当前视图的分词状态。
临时解决方法:
- 把光标移到行首或行尾,再点回目标变量内部(比如
user-name的u或n) - 或者直接按
Esc清空当前选区,再双击 - 极少数情况需关闭再重开该文件(仅当上述操作无效时)
真正容易被忽略的是:这个设置同时撬动了查找、高亮、多光标三套逻辑,改之前最好先用 Ctrl+F 搜一下目标变量,确认当前行为是否符合预期。











