Ctrl+Shift+/(Windows/Linux)或Cmd+Shift+/(macOS)是Sublime Text中用于添加块注释的快捷键,仅在选中文本时稳定生效,且依赖当前语法是否定义了comment_start和comment_end规则。

Windows / Linux 下用 Ctrl+Shift+/ 快速添加块注释
Sublime Text 默认支持对选中代码块一键加 /* */ 注释,前提是当前语法高亮识别正确(比如文件后缀是 .js、.py、.html 等)。按 Ctrl+Shift+/ 后,Sublime 会自动包裹选中内容,并在开头插入 /*,结尾插入 */。
注意:这个快捷键只在「有选中文本」时生效;如果光标单独在某行,它会尝试注释当前行——但行为不稳定,建议始终先选中再操作。
- 若快捷键无效,检查是否被其他插件(如 Emmet)劫持了该组合键
- 部分语言(如 Python)不支持
/* */,此时 Sublime 会 fallback 到行注释(#或//),不是 bug,是语法适配逻辑 - HTML 中对
块内 JS 代码使用此快捷键,会按 JS 规则注释,而非 HTML 的
macOS 下对应快捷键是 Cmd+Shift+/
和 Windows/Linux 逻辑完全一致,只是将 Ctrl 换成 Cmd。如果你用的是带 Touch Bar 的 Mac,无需额外设置,原生支持。
常见误区:Cmd+/ 是行注释(toggle line comment),而 Cmd+Shift+/ 才是块注释(toggle block comment)。两者功能不同,别混淆。
- 行注释快捷键
Cmd+/在 Python 里加#,在 JS 里加//,适合快速屏蔽单行或连续多行 - 块注释快捷键
Cmd+Shift+/只对支持/* */的语言起作用,比如 JS、CSS、C/C++/Java 类语言 - 如果当前文件类型未定义块注释规则(例如自定义后缀或纯文本),Sublime 会静默失败,不报错也不响应
如何确认当前语言是否支持块注释?
打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),输入 Set Syntax 查看当前语法名称,比如 JavaScript、Python、Plain Text。只有语法定义了 comment_start 和 comment_end 的语言才支持 Ctrl+Shift+/。
你可以在 Package Control 安装的语法包里查到这些定义,路径类似:
Sublime Text 4/Packages/JavaScript/syntaxes/JavaScript.sublime-syntax,里面会有类似这样的片段:
comment_start: '/*' comment_end: '*/'
没有这两项,就说明该语法不支持块注释快捷键。
自定义或修复块注释行为(高级)
如果你常用某种语言但它的块注释没生效,可以手动补全语法配置,或通过 Key Bindings 覆盖默认行为。例如,强制让 Markdown 文件也支持 /* */ 块注释(虽然不标准,但临时调试有用):
[
{
"keys": ["ctrl+shift+/"],
"command": "toggle_comment",
"args": {"block": true},
"context": [
{ "key": "selector", "operator": "equal", "operand": "text.html.markdown" }
]
}
]这段配置加到 Preferences → Key Bindings 的用户文件里即可生效。但要注意:toggle_comment 的 block: true 参数依赖底层语法支持,否则仍会 fallback 到行注释。
真正容易被忽略的一点是:Sublime 的块注释不是简单地“加两个符号”,而是调用语法感知的注释引擎——所以换语言、改后缀、甚至粘贴进错误的编辑器标签页,都可能导致快捷键失效。遇到问题,先看右下角显示的语法名,再排查。










