wrapplus已停维护,应改用sublime原生功能:优先用emmet的wrap with abbreviation(ctrl+shift+p调出),或原生wrap with tag(ctrl+alt+w);非html文件需在emmet设置中配置emmet.includelanguages。

WrapPlus 插件在 Sublime Text 中已停止维护,wrap_plus 包在 Package Control 中不可用,强行安装会报错或无法加载。别折腾旧插件,直接用 Sublime 原生功能就能完成绝大多数代码块包裹需求。
用 Ctrl+Shift+P 调出命令面板执行 Wrap with Abbreviation
这是 Emmet 插件提供的核心包裹能力,Sublime 默认自带 Emmet(v4.0+),无需额外安装 WrapPlus:
- 选中要包裹的文本(支持多行、空行、光标所在行)
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Wrap with Abbreviation并回车 - 输入缩写,例如:
div.item、ul>li*3、span[class="highlight"] - 回车后自动包裹,光标停在内容区域可继续编辑
注意:Wrap with Abbreviation 对 HTML/XML 文件最稳定;在 Python/JS 等非标记语言中需手动切换语法为 HTML 或启用 Emmet 的“强制启用”模式(见下一条)。
在非 HTML 文件中启用 Emmet 包裹:修改 emmet.includeLanguages
默认 Emmet 只在 HTML/CSS/JS 等特定语法下激活包裹功能。想在 Python、Markdown、JSON 里也用,就得显式声明:
- 菜单栏 →
Preferences→Package Settings→Emmet→Settings - 在右侧用户设置中添加:
{
"emmet.includeLanguages": {
"python": "html",
"markdown": "html",
"json": "html",
"javascript": "html"
}
}
保存后重启 Sublime 或重载 Emmet。之后在 Python 文件中选中 print("hello"),执行 Wrap with Abbreviation 输入 div,就会变成 <div>print("hello")</div>。
Wrap with Tag 快捷键(原生)比插件更轻量
如果只是简单套一层 HTML 标签,不用缩写语法,Sublime 原生就支持:
- 选中文本
- 按
Ctrl+Alt+W(Windows/Linux)或Cmd+Alt+W(macOS) - 输入标签名,如
section、p、code,回车即完成 - 不支持属性,但快、稳、无依赖——适合写文档、临时调试、快速加容器
这个命令对应命令面板中的 Wrap with Tag,底层调用的是 Sublime 的 wrap_tag 命令,和 Emmet 无关,所有语法都可用。
真正容易被忽略的是:Emmet 的包裹行为高度依赖当前语法高亮模式。比如你在 .py 文件里写了 HTML 片段但没切到 HTML 语法,Wrap with Abbreviation 就不会触发。与其反复装插件,不如养成习惯——包裹前先确认右下角显示的是 HTML 或已配置好 includeLanguages。










