在这里我记录了几个常用的快捷补全命令(snippets)在 sublime text 3 里如何配置。借助 Emcs 里的 yasnippet 插件可以自定义命令实现相同的补全功能。
参照这篇文章,用 M-x yas-new-snippet
新建一个模板,在 # --
下一行编辑需要补全的正文;key:
对应的是触发字符,如同 sublime text 里的 trigger。
如下是在 markdown mode 下插入图片的示例:
# -*- mode: snippet -*-
# name: insert an image
# key: iimg
# --
<figure><img src="/assets/$2" title="$3">
<figcaption>$1</figcaption>
</figure>
$0
$num
(num = 1, 2, 3, …) 指明补全后光标移动的顺序,由 TAB
切换到下一个位置。$0
是特殊的,标注了光标最后停留地。用 M-x yas-expand
补全。需要注意的是,补全功能读取的是光标以前的内容而非全篇,比如光标在 iimg
中间停留唤醒补全是行不通的。另外,写好一个命令后应该存储在相应 mode 下,如 markdown-mode。在 init.el 配置中需要指明快捷命令的所在位置。