ctrl+shift+.(win/linux)或 cmd+shift+.(macos)是唯一不挑条件的闭合方式,调用 sublime 原生 close_tag 命令,无视语法模式、文件后缀及状态栏显示,精准补全光标附近起始标签的结束标签。

Ctrl+Shift+.(Win/Linux)或 Cmd+Shift+.(macOS)是唯一不挑条件的闭合方式
这个快捷键调用 Sublime 原生的 close_tag 命令,不经过 Emmet、不校验语法模式、不依赖文件后缀或右下角状态栏显示内容。哪怕当前文件是 .inc、.shtml,甚至右下角显示的是 Plain Text,它照样能识别光标附近的起始标签并补全对应结束标签。
常见错误现象:光标放在 <section></section> 后面、 前面、甚至 sect|ion 中间,按了没反应——大概率是被其他插件劫持了 . 键(比如某些 Snippet 或主题插件会重定义该快捷键)。
- 光标位置只要在标签名附近(含开始/结束标签内部、前后空白处),基本都能命中
- 它只补缺失的对应标签,不会改动已有结构(例如你写了
<div>content,它就补 <code>div>,不会动前面) - 不处理自闭合标签(如
<img>、<br>
),也不会强行给它们加结束符 - 右下角状态栏必须显示
HTML(不是Plain Text、XML或JavaScript);点它可手动切换 - 必须用英文输入法按
>——中文输入法输出的是全角「>」,Sublime 收不到原始字符 -
auto_close_tags在 Sublime Text 4 中默认为false,需在Preferences > Settings用户设置中显式加这一行:"auto_close_tags": true - 输入
div(不是<div>)再按 <code>Tab→ 得到<div></div> - 输入
ul>li*3+Tab→ 直接生成嵌套结构 - 如果同时开了
auto_close_tags,会出现重复闭合:比如div+>出一次,再按Tab又出一次,变成<div></div>
为什么按 > 没反应?检查三件事
很多人输完 <div> 再按 <code>>,光标停在行尾却没补全——这不是设置漏了,而是根本没走到触发逻辑里。
Emmet 的 Tab 补全比 > 更可靠,但别和原生设置共存
Emmet 是 Sublime Text 4 v4126+ 原生集成的,不用额外安装。它默认不启用自动闭合逻辑,需进 Preferences > Package Settings > Emmet > Settings,确保有 "auto_close_tag": true。











