2

标题说,是否可以改变 yasnippets 的行为,以便无法在“-or”上展开,但只能在“[newline]or”或“[tab]or”上展开?

我想要这个,因为我试图在可以扩展时自动扩展我的 yasnippets,并且只有在我编写变量名时才会发生冲突。

4

1 回答 1

1

我在这里得到了解决方案: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)

于 2013-01-19T16:52:37.033 回答