タイトルによると、yasnippets の動作を変更して、「-or」を展開できなくても、「[newline]or」または「[tab]or」のみを展開できるようにすることは可能ですか?
展開が可能な場合に yasnippets を自動的に展開しようとしており、変数名を書いているときにのみ競合があるため、これが必要です。
ここで解決策を得ました: http://ergoemacs.org/emacs/emacs_tip_yasnippet_expand_whole_hyphenated_word.html
(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 の場合)