跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Sublime如何设置双击不选中引号内内容?(自定义词界规则)

Sublime Text双击选词跳过引号是因为默认word_separators包含"和',将其视为词边界;修改需在用户设置中覆盖该字段,移除引号但保留其他分隔符以确保功能正常。 Sublime Text 双击选词时跳过引号的原理是什么? 双击选中行为由
word_separators
控制,它定义哪些字符被视作“词边界”。默认值里包含
"
和
'
,所以双击引号内文字时,引号本身会被切开——导致选不全字符串内容。 这不是 bug,是设计:Sublime 默认把引号当分隔符,和空格、括号地位一样。想改,就得覆盖这个配置。 关键点在于:
word_separators
是全局设置项,修改后影响所有语言(除非某语法单独覆盖)。它只接受字符串,每个字符独立生效,顺序无关。 如何安全修改
word_separators
避免破坏其他功能? 直接删掉引号字符最简单,但容易误伤——比如你删了
"
,结果 JS 里
obj."key"
双击
key
会连带选中点号或括号。稳妥做法是**只移除单双引号,保留其余默认分隔符**。 推荐操作: 打开
Preferences → Settings
(左侧是默认设置,右侧是用户设置) 在右侧用户设置中添加(或修改)
"word_separators"
字段 用默认值剔除
"
和
'
后粘贴进去(别手敲,易漏字符)
"word_separators": "./\()"'-:,.;<>~!@#$%^&*|+=[]{}`~?"
注意:上面这串里已去掉
"
和
'
,但保留了反斜杠
、点
.
、逗号等——它们对路径、成员访问、数字格式仍有必要。 为什么改完没生效?常见失效场景有哪些? 最常踩的坑是改错了文件位置:必须改**用户设置(User Settings)**,不是默认设置,也不是某个语法专属设置。 其他失效原因: 仿Sublime和notepad++编辑器效果 仿Sublime和notepad++编辑器效果 下载 配置项拼写错误,比如写成
word_separator
(少 s)或
wordSeparators
(驼峰) JSON 格式错误:末尾多逗号、引号不闭合、用了中文标点 当前文件绑定了自定义语法(如 “Plain Text”),而该语法在
.sublime-syntax
文件里硬编码了
word_separators
插件冲突(极少见),比如某些代码高亮插件会动态覆盖选词逻辑 验证是否生效:新建一个纯文本文件,输入
"hello world"
,双击
hello
—— 应该选中整个
"hello world"
(含引号)。如果只选中
hello
,说明配置未加载或被覆盖。 不同语言下要不要差异化处理? 没必要为每种语言单独设
word_separators
。多数场景下统一去掉引号就够用;真有特殊需求(比如写 SQL 时想双击
'2024-01-01'
但不想连带选中单引号),应该用插件(如
Expand Selection to Quotes
),而不是改全局词界。 硬要按语言区分,得进
Syntax Specific Settings
,但代价是维护成本陡增——比如 Python、JS、JSON 的引号语义其实一致,强行拆开反而容易漏配。 引号是否参与选词,表面是双击体验问题,实际牵扯到 Sublime 底层的 token 划分逻辑。改
word_separators
看似简单,但删错一个字符就可能让正则替换、跳转光标、甚至某些插件的上下文识别失灵。动手前最好先备份原配置。

相关文章