Sublime双击选中单词_Sublime单词选择偏好设置【习惯】

7次阅读

sublime text双击选词逻辑由word_separators控制,需删除-和.以支持user-name、obj.method;ctrl/cmd+拖拽可多光标编辑;语法包可能覆盖全局设置;highlight_word导致大文件卡顿,应关闭。

Sublime双击选中单词_Sublime单词选择偏好设置【习惯】

双击选中单词时包含连字符和点号

sublime text 默认双击只选中字母、数字和下划线,遇到 user-nameobj.method 会断开成三段。这不是 bug,是靠 word_separators 控制的分词规则。

想让双击选中整个 user-nameconsole.log,得改用户偏好设置:

  • 菜单 → Preferences → Settings – User
  • 添加或修改 "word_separators",删掉其中的 -.
  • 推荐值:"word_separators": "./()"'-:,.;~!@#$%^&*|+=[]{}`~?"(去掉 -.

改完保存,不用重启,立刻生效。但注意:改得太宽(比如去掉 /),https://example.com 也会被当一个词选中——这在写 URL 时反而碍事。

按住 Ctrl/Cmd + 鼠标左键拖拽选中多个单词

这是 Sublime 的「列选择+多光标」组合技,但默认行为容易误触:松开 Ctrl 后光标还在,再点一下就清掉其他光标,只剩当前行。很多人以为功能坏了。

关键不是“怎么开”,而是“怎么稳住”:

  • 按住 Ctrlwindows/linux)或 Cmdmacos)不放,再按住鼠标左键横向拖拽——这时会高亮多个单词,每词一个光标
  • 松开鼠标,但 别松 Ctrl/Cmd;此时可直接打字,所有光标同步输入
  • 松开 Ctrl/Cmd 后,再点任意位置才会取消多光标
  • 如果已松开 Ctrl 却还想保留光标,按 Ctrl+Shift+L(macOS 是 Cmd+Shift+L)能把当前选中行转为多光标

这个操作对批量改变量名、加前缀、补括号特别快,但新手常卡在“松太快”这一步。

不同语言下单词选择逻辑不一致

Sublime 会根据当前文件语法(如 Python、JavaScript、jsON)加载对应语法定义,而各语法包自带的 word_separators 可能覆盖全局设置。比如 json 文件里双击 "key": "value",引号内的点号可能仍不参与选中——因为 JSON 语法包强制设了更严格的分隔符。

排查方法很简单:

  • 打开一个文件,确认右下角显示的语法(如 JavaScript
  • 菜单 → View → Syntax → Open all with current extension as… → 选 Plain Text 临时切换,看双击是否变正常
  • 如果变正常,说明是语法包干扰;可安装 PackageResourceViewer 插件,定位到对应语法包的 .sublime-syntax 文件,搜索 word_separators
  • 不建议直接改语法包,优先用 Settings – Syntax Specific 覆盖(即右键文件 → Settings – Syntax Specific

这点容易被忽略:你以为调好了全局设置,结果在 .ts 文件里又失效——大概率是 typescript 语法包在背后改了规则。

选中后自动高亮同名单词太卡?关掉它

开启 highlight_modified_tabsmatch_brackets 不会影响单词选择,但 highlight_line 和尤其是 highlight_matching_brackets 不是问题;真正拖慢的是 highlight_word(即双击选中后,文档里所有相同单词都高亮)。小文件没事,但打开 10MB 日志或压缩 JS 时,Sublime 会明显卡顿甚至无响应。

关闭方式很直接:

  • 菜单 → Preferences → Settings – User
  • 加一行:"highlight_word": false
  • 或者更精细地:只在大文件里关,用插件 AutoSetSyntax 或自定义插件监听 on_load 事件动态设

别小看这个开关——它不改变选择行为,只影响渲染。但很多人调了半天 word_separators,结果卡顿根源其实在这儿。

text=ZqhQzanResources