sublime怎么设置双击选中文本_Sublime选择逻辑设置【方法】

2次阅读

sublime中双击无法全选user-name等含连字符或点号的标识符,需修改word_separators配置项,删除其中的-和.符号,以调整编辑器对“单词”的定义,从而影响双击、光标跳转及ctrl+d匹配行为。

sublime怎么设置双击选中文本_Sublime选择逻辑设置【方法】

双击选不全 user-name?改 word_separators 就行

Sublime 默认把连字符 - 当作单词边界,所以双击 user-name 只会选中 username,不是 bug,是设计如此——但你完全可以关掉它。

  • 打开 Preferences → Settings – User,在右侧 jsON 里添加或修改 "word_separators" 字段
  • 复制默认值(可在 Settings – default 里查到),删掉其中的 -,例如:"./()"'-:,.;~!@#$%^&*|+=[]{}`~?"
  • 保存后立即生效,不用重启;双击、Ctrl+←/→ 跳转、Ctrl+D 匹配都会同步响应
  • 别直接删光所有分隔符——比如误删 . 会导致双击 obj.prop 选中整串路径,删 / 可能让 URL 变成一个“单词”

想选 obj.prop 却被点号打断?重点删 .

点号在 JS、TS、Python 属性访问和模块导入中很关键,但默认也被当成分隔符,导致双击只选中 prop 而非整个 obj.prop

  • 同样改 word_separators,这次确保 . 不在字符串里,比如:"/()"'-:,.;~!@#$%^&*|+=[]{}`~?"
  • 保留 /;( 等符号,否则 console.log("x") 可能被当成一个词选中
  • 改完立刻试 Ctrl+←:光标应能从 log 跳到 console,再跳到 obj,而不是卡在点号前后

Ctrl+D 乱选大小写或带前缀的词?这不是 word_separators 的问题

word_separators 控制的是“什么是单词”,而 Ctrl+D 默认按单词边界 + 忽略大小写匹配,所以光标在 data 上按两次可能选中 Datadatabase

  • 要严格匹配大小写:先按 Ctrl+H 打开替换面板,点击右下角 Aa 图标关闭 Match Case,再用 Ctrl+D
  • 要只匹配完整单词(避免 usersuser 带中):先选中目标词,按 Ctrl+Shift+P 输入 Find: select All,等效于正则 user
  • 想跳过某处干扰项(比如字符串里的 "user"):按 Ctrl+K Ctrl+D,它跳过当前匹配,不撤销已选中的

改了设置,结果光标跳得不对?检查影响范围

word_separators 是编辑器级配置,改它不只是让双击好用,还会改变所有基于“单词”的行为,这点容易被忽略。

  • Ctrl+←/→Ctrl+Shift+←/→ 的跳转/选择单位会变,比如原来跳过 user-name 两下,现在一下就跨过去
  • 某些语言里连字符本就不该是单词一部分:Python 中 user-name 是非法变量名,强行让它可双击可能掩盖 SyntaxError
  • 如果项目混合 JS(常用 user-nameclass 名)和 Python(不用连字符),建议只在前端项目里启用,或用 WordHighlight 插件做局部高亮替代

真正要注意的是:你调的不是一个“双击开关”,而是一整套单词语义定义。改之前,先试一遍 Ctrl+←Ctrl+D 在真实代码里的表现。

text=ZqhQzanResources