标题说,是否可以改变 yasnippets 的行为,以便无法在“-or”上展开,但只能在“[newline]or”或“[tab]or”上展开?
我想要这个,因为我试图在可以扩展时自动扩展我的 yasnippets,并且只有在我编写变量名时才会发生冲突。
我在这里得到了解决方案:http: //ergoemacs.org/emacs/emacs_tip_yasnippet_expand_whole_hyphenated_word.html
有 variable (defvar yas-key-syntaxes (list "w" "w_" "w_." "w_.()" "^ ")..)
,它控制各种扩展。"w"
表示`"-or" 被扩展为单独的"or"。
如果
(setq yas-key-syntaxes '("w_" "w_." "w_.()" "^ "))
then"-or"
仅扩展为复杂表达式"<some>-or"
。但是" or"
像往常一样被扩展。
所以,只有当有内容"buffer-substring"
的文件时才会被扩展buffer-substring.yasnippet
# contributor: Xah Lee (XahLee.org)
# name: buffer-substring
# key: buffer-substring
# --
(buffer-substring START$0 END)
但 with"w"
关键字"buffer-substring"
将扩展为substring.yasnippet
.
# key: bs
如果文件中有附加字符串,buffer-substring.yasnippet
则"buffer-substring"
根本不会扩展。(对于版本:0.8.0)