一种可能的解决方案是通过向每个片段添加一行代码来控制具有键绑定# binding: C-I a b c
的片段 - 例如,或者# binding: C-I d e f
该组合C-I
等效于制表键,并且以下字母之间的空格意味着它们被单独按下一个时间。此外,还可以修改以下代码行以反映不同的键: # key: a_b_c
和# key: d_e_f
。
该变量yas-snippet-dirs
可用于控制片段的位置。将片段移动到不同的位置可能是个好主意,这样它们就不会被未来的更新所触及(例如,el-get
)。
xxx
片段如下所示:
原来的
# -*- mode: snippet -*-
# name: xxx
# key: x
# --
`(yas-with-comment "XXX: ")`
修改的
# -*- mode: snippet -*-
# name: xxx
# key: a_b_c
# binding: C-I a b c
# --
`(yas-with-comment "XXX: ")`
todo
片段如下所示:
原来的
# -*- mode: snippet -*-
# name: todo
# key: t
# --
`(yas-with-comment "TODO: ")`
修改的
# -*- mode: snippet -*-
# name: todo
# key: d_e_f
# binding: C-I d e f
# --
`(yas-with-comment "TODO: ")`
对于那些好奇的人,函数yas-with-comment
看起来像这样
(defun yas-with-comment (str)
(format "%s%s%s" comment-start str comment-end))