Sublime Text 多行注释失效主因是语法识别错误;需手动设置右下角语法类型,再用 Ctrl+/(多行需先选中)或 Ctrl+Shift+P 调用 Toggle Block Comment。

Sublime Text 多行注释快捷键不生效?先看语法模式
多行注释失效,90% 是因为当前文件没识别对语言类型。Sublime 不会自动猜 Vue 文件里的 <script> 块是 JavaScript,也不会把 .jinja 当成 Jinja 语法——它只认右下角显示的语法名。
- 点击右下角语法名称(如
Plain Text),选对应语言:Python →Python,Vue SFC →Vue Component,TSX →TypeScriptReact - 如果列表里没有,用
Package Control安装对应插件,比如Vue Syntax Highlight或Jinja2 - 确认后按
Ctrl+/(Windows/Linux)或Cmd+/(macOS):单行注释会加#或//;选中多行再按,才触发块注释(如/* ... */或<!-- ... -->)
为什么选中多行后按 Ctrl+/ 只加了单行符号?
Sublime 默认不为所有语言启用块注释,只在少数语言(如 JavaScript、HTML、CSS)里自动切换注释风格。Python、Ruby、Go 等语言即使选中多行,也只会逐行加 # 或 #,不会生成 """...""" 或 =begin ... =end。
- 想强制多行块注释,得手动触发:选中代码 →
Ctrl+Shift+P→ 输入Comment: Toggle Block Comment→ 回车 - 该命令是否可用,取决于当前语法是否定义了
block_comment规则,查法:Preferences → Package Settings → [语法名] → Settings,看是否有"block_comment"字段 - 没定义?自己加(需谨慎):在用户语法设置里写
"block_comment": ["/*", "*/"],但部分语言(如 Python)官方不推荐块注释,强行加可能破坏格式化工具行为
Ctrl+Shift+A 在 Sublime 里是啥?别和注释搞混
这个快捷键默认绑定的是 Select All,不是注释。有人误记成“全选+注释”组合技,结果按完发现只是选中全文,根本没注释——因为没再按 Ctrl+/。
- 真正能“一键多行注释”的操作链只有两个:① 选中 →
Ctrl+/(依赖语言支持块注释);② 选中 →Ctrl+Shift+P→Toggle Block Comment -
Ctrl+Shift+A后立刻按Ctrl+/是可行的,但纯属两步操作,不是新快捷键 - 如果真想要自定义快捷键,改
Preferences → Key Bindings,加一条:{"keys": ["ctrl+alt+/" ], "command": "toggle_block_comment"},注意别和已有键冲突(比如Emmet插件常占Ctrl+Alt+7)
插件改注释行为风险高,慎动 Commentary 或 DocBlockr
这类插件会重写注释逻辑,但容易和原生功能打架:比如 Commentary 强制 Python 用 ''' 块注释,可 black 或 autopep8 会把它当 docstring 清掉;DocBlockr 在函数前加注释模板,但 JS 的 /** */ 和 TypeScript 的 /** @param */ 解析规则不同,填错字段会导致类型检查报错。
- 除非明确需要(比如团队强制要求 JSDoc 格式),否则别为“省一次按键”装注释类插件
- 已安装又出问题?临时禁用:菜单
Preferences → Package Control → Disable Package→ 选插件名 - 最稳的路径:用原生
Ctrl+/+Ctrl+Shift+P → Toggle Block Comment,配合正确的语法识别,覆盖 95% 场景
块注释不是万能开关,它依赖语言定义、插件兼容、甚至光标位置(比如在字符串里按 Ctrl+/,有些语法会把引号里的内容也注释掉)。与其调快捷键,不如先点右下角确认语法名——这是多数人跳过的一步,也是最常卡住的地方。









