Wrap Selection功能可通过Emmet插件实现,选中代码后使用“Wrap with Abbreviation”命令,输入HTML缩写如div>p,即可将内容包裹为对应结构,支持变量占位符$#,还可自定义快捷键Ctrl+Alt+W提升效率,适用于快速生成HTML、JSX嵌套等场景。

Sublime Text 中的“包裹代码块”功能非常实用,尤其在前端开发中需要快速为选中的内容添加标签或函数调用时。这个功能的核心是 Wrap Selection,它能让你高效地将选中代码用指定结构包裹起来。
什么是 Wrap Selection 功能?
Wrap Selection 并不是 Sublime Text 内置的默认菜单项,而是通过插件(如 Emmet)或自定义命令实现的功能。它的作用是:选中一段代码后,输入一个标签或表达式,自动将其包裹在外层。
比如你选中了 console.log('hello'),使用 Wrap with Abbreviation 后输入 div>p,就能变成:
console.log('hello')
如何使用 Emmet 实现快速包裹
最常用的实现方式是借助 Emmet 插件,它默认集成在 Sublime Text 中(若未安装可通过 Package Control 安装)。
操作步骤如下:
- 选中你想包裹的代码行或文本片段
- 按下 Ctrl+Shift+P 打开命令面板
- 输入 Emmet: Wrap with Abbreviation 并回车
- 在弹出的输入框中键入 HTML 缩写,例如:
ul>li*3或section.header - 按回车确认,选中内容就会被对应结构包裹
支持变量占位符 $#,表示原选中内容插入的位置。例如输入:div.item-$#,会把原内容放在 class 名中。
自定义快捷键提升效率
频繁使用时可为“Wrap with Abbreviation”绑定快捷键:
- 点击菜单 Preferences > Key Bindings
- 在右侧用户键位设置中添加一行:
{ "keys": ["ctrl+alt+w"], "command": "emmet_wrap_with_abbreviation" }
保存后,以后选中代码 + 按下 Ctrl+Alt+W 即可直接调用包裹功能,无需打开命令面板。
适用场景举例
该功能在以下情况特别有用:
- 将纯文本快速转为 HTML 结构(如列表、卡片布局)
- 为 JS 表达式添加 try-catch 或 if 判断
- 在 JSX 或模板中快速嵌套元素
- 批量处理多光标选中内容,一次包裹多个片段
注意:非 HTML 文件中需确保 Emmet 支持当前语法(可在右下角切换语法模式启用)。
基本上就这些。熟练使用 Wrap Selection 能极大提升编码节奏,关键是记住命令入口和缩写规则。不复杂但容易忽略。










