sublime text 没有 toggle quotes 插件,唯一可用的是 changequotes;它仅在光标位于字符串内、语言模式正确且英文输入法下生效,快捷键为 ctrl+shift+.(win/linux)或 cmd+shift+.(macos)。

Sublime Text 没有 Toggle Quotes 插件,别装了
Sublime Text 官方和主流插件库(Package Control)里根本不存在叫 Toggle Quotes 的插件。你搜到的所谓“Toggle Quotes”大概率是混淆了 VSCode 的同名功能,或是误传的旧版/非标插件链接。强行安装不存在的插件只会失败,或引入不可靠的第三方脚本。
真正可用的引号切换方案只有 ChangeQuotes
ChangeQuotes 是 Sublime Text 上唯一成熟、持续维护的引号切换插件,支持单引号 ↔ 双引号 ↔ 反引号(在 JS/TS 等语法中),但行为逻辑和 VSCode 不同:
- 默认快捷键是
Command + Shift + .(macOS)或Ctrl + Shift + .(Windows/Linux),不是单引号键 - 它只在光标**位于字符串内部**时生效,且依赖当前文件的语言模式(如 JavaScript、Python)正确识别字符串 scope
- 不支持 JSON 文件里切换反引号——因为 JSON 语法不允许,插件会直接忽略
- 如果右下角显示
Plain Text,ChangeQuotes会静默失效,必须手动切换语言模式
快捷键没反应?先检查这三个硬条件
很多人按了没反应,不是插件坏了,而是触发前提没满足:
- 光标必须落在引号包裹的字符串内容里(比如
"hello"中的h或e),不能停在引号上、引号外、空格后或注释里 - 右下角语言模式必须是
JavaScript、Python、HTML等支持字符串高亮的类型,Plain Text或未识别后缀一律不工作 - 中文输入法必须关闭——Sublime 对中文引号(“”)完全不识别,英文输入法下按
.键才可能触发
批量改引号别靠插件,用正则更稳
想把整个文件的双引号全换成单引号?ChangeQuotes 是逐个字符串操作,效率低还容易漏。直接上正则:
- 打开替换面板:
Ctrl + H(Win/Linux)或Cmd + Alt + F(macOS) - 勾选
.*(启用正则) - Find What 填:
"([^"]|\.)*"(匹配合法双引号字符串,含转义) - Replace With 填:
'$1' - 点
Replace All,但务必先Ctrl + Z回退,人工抽检几处嵌套或转义场景(如"He said "Hi"")
最常被忽略的是:正则能跑通 ≠ 语义正确。JSON key 必须用双引号,Python 三重引号不能简单替换,改完得跑一遍 linter 或 parser 验证。











