自定制代码段

snippet 这个英文单词的意思就是,小片段。 sublime 可以让用户创建自己的 snippet 。

寻找重复操作

创建什么呢?这个不是凭空想出来的,而是要定位自己日常工作中的重复性劳动。比如我在写视频笔记的时候,用的时 github 的 jekyll 这种格式,每个页面头上都要有这样几行内容

---
layout: default
title: 标题
---

而且输入完之后还要输入一个空行,然后再来输入正文。根据这个需求,就可以 menu->tools->new snippet 来创建下面的内容

<snippet>
  <content><![CDATA[
---
layout: default
title: ${1:标题}
---

${2}
]]></content>
  <tabTrigger>header</tabTrigger>
  <scope>text.html.markdown</scope>
</snippet>

命名为 jekyll-header.sublime-snippet ,保存到 Packages/User 之下。这样到一个 markdown 文件中,命令面板中输入 snippet 就可以看到这个 snippet 的信息了。

敲 snippet 的同时也看到了 php 相关的 snippet 。但是其实我是不写 php 的,那怎么样避免这些信息出现呢?

php snippet 如何卸载

其实这个问题就是,默认就装好的包,如何来禁用。到 Settings User 中

"ignored_packages":[
  "Vintage", // missing this will trigger vintage mode
  "PHP", // to avoid php snippets in html files
],

作用范围 scope

最后来说说上面 snippet 中填写的 scope 是怎么得到的。

在 keybinding Default 中又这样的设置

{ "keys": ["super+alt+p"], "command": "show_scope_name" },
{ "keys": ["ctrl+shift+p"], "command": "show_scope_name" },

所以可以通过上面的任意一组快捷键来读取当前文件的 scope ,爆出来的内容有可能是空格隔开的多个字符串,取第一个字符串就行了。基本上各种代码文件的 scope 都是 source 打头,例如 source.jssource.ruby source.python 。其他的都是以 text 打头,例如 text.html.basic text.html.markdowntext.plain 等。 那么如何给一个 snippet 定义多于一个文件类型的 scope 呢?可以这样

<scope>text.html.markdown, text.plain</scope>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值