先装package control(st4用哈希6f4c264a开头脚本),再通过install package安装jquery snippets,新建.js文件输入jqready按tab即可展开$(function() { });;自写snippet需确保路径正确、scope匹配、xml合法。

Sublime 里没有“代码块插件”这个独立品类,所谓一键调用常用模板,实际靠的是 snippet 文件 + 正确路径 + 匹配 scope ——装错地方、写错作用域、XML 格式不合法,三者任一出问题,log+Tab 就完全没反应。
怎么装 jQuery 或 ES6 等常用代码块?
别搜“jQuery 插件”,直接用 Package Control 安装社区维护的 snippet 集合:
- 确保已装好
Package Control:按Ctrl+`打开控制台,粘贴 ST4 专用安装脚本(哈希以6f4c264a开头),执行后重启 - 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 回车 → 搜索jQuery Snippets或ES6 jQuery Snippets→ 选中安装 - 新建一个
.js文件,输入jqready再按Tab,就会展开为$(function() { }); - 这类插件本质是把一堆
.sublime-snippet文件自动放进Packages/User/,省去手动复制的麻烦
自己写 snippet 为什么输完不触发?
90% 是以下三个条件没同时满足:
-
Packages/User/路径不对:Windows 用%APPDATA%\Sublime Text\Packages\User\,macOS 用菜单Preferences → Browse Packages…直接跳转;别存桌面或项目目录 -
<scope>source.js</scope>写错:右下角状态栏显示的是Plain text或HTML,但你写了source.js?那就不会响应。查当前作用域用Ctrl+Shift+P→Show Scope Name -
<content></content>没用包裹:JS 里的{、}或 HTML 里的、<code>>会让 XML 解析失败,且不报错——你只会觉得“不生效”
tabTrigger 写什么才有效?
触发词不是随便起的,有硬性限制:
- 只能含字母、数字、下划线:
http-get❌,http_get✅ - 文件名建议和
<tabtrigger></tabtrigger>一致,比如触发词是myhtml5,文件就叫myhtml5.sublime-snippet - 别用太短或太通用的词,比如
if容易和 Emmet 冲突;log倒是可以,但得确认没被其他 snippet 占用 - 改完 snippet 后不用重启,执行
Ctrl+Shift+P→Reload Syntaxes即可刷新加载
真正容易被忽略的点是:snippet 是纯文本插入,不执行逻辑、不解析变量、不判断上下文。它只认路径、scope 和 XML 结构——哪怕你写了个带 $CURRENT_YEAR 的模板,它也只在光标处原样插入那串字符,不会自动替换成今年年份,除非你用的是 Sublime 内置变量且写法正确。











