タイトルによると、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 の場合)