Emacs YASnippet在键入字母“时失败”;";在置换区

Emacs YASnippet在键入字母“时失败”;";在置换区,emacs,elisp,yasnippet,Emacs,Elisp,Yasnippet,已创建以下YASnippet(以在组织模式下自动创建标题): #关键字:org #名称:org # -- #+标题:${1:`(大写)(文件名非目录(文件名无扩展名 (缓冲区文件名))`} #+时间戳: #+包括:“序言.org” $0 在大多数情况下,一切都是正确的,除了在标题中键入“t”字符 它与其他字母配合得很好,与那个字母不配合。找不到原因。有什么想法吗?问题出在以下代码中: ;; allow YASnippet to do its thing in Org files (ad

已创建以下YASnippet(以在组织模式下自动创建标题):

#关键字:org
#名称:org
# --
#+标题:${1:`(大写)(文件名非目录(文件名无扩展名
(缓冲区文件名))`}
#+时间戳:
#+包括:“序言.org”
$0
在大多数情况下,一切都是正确的,除了在标题中键入“t”字符


它与其他字母配合得很好,与那个字母不配合。找不到原因。有什么想法吗?

问题出在以下代码中:

  ;; allow YASnippet to do its thing in Org files
  (add-hook 'org-mode-hook
            (lambda ()
              ;; YASnippet (using the new org-cycle hooks)
              (add-to-list 'org-tab-first-hook
                           'yas/org-very-safe-expand)

              ;; When enabled, problem with inserting letter `t' in YASnippet fields
              ;; (define-key yas/keymap
              ;;   (kbd "tab") 'yas/next-field) ; `yas/next-field-or-maybe-expand'?
              ))

对我来说很好。你能澄清一下“失败”吗?是否有回溯或消息?另外,为什么时间戳是静态的?t似乎被解释为命令的前缀。关于静态时间戳,您是对的,但不管怎样,它在我的Emacs配置中得到了更新,这要归功于一个保存钩子,并且“时间戳”包的使用必须是您的配置的某个部分导致了这一点。尝试使用
emacs-q
进行复制,并仅加载yasnippet。
  ;; allow YASnippet to do its thing in Org files
  (add-hook 'org-mode-hook
            (lambda ()
              ;; YASnippet (using the new org-cycle hooks)
              (add-to-list 'org-tab-first-hook
                           'yas/org-very-safe-expand)

              ;; When enabled, problem with inserting letter `t' in YASnippet fields
              ;; (define-key yas/keymap
              ;;   (kbd "tab") 'yas/next-field) ; `yas/next-field-or-maybe-expand'?
              ))