我在.emacs中有以下代码:
;yasnippet
;;{{{
(load (concat *my-emacs-lib-dir* "plugins/yasnippet/yasnippet"))
(setq yas/snippet-dirs nil)
(yas/initialize)
;; Develop and keep personal snippets under ~/emacs.d/yasnippets
(setq yas/root-directory (concat *my-emacs-lib-dir* "yasnippets"))
(yas/load-directory yas/root-directory)
;;}}}
(add-hook 'javascript-mode-hook (lambda () (yas/minor-mode-on)))
我在*my-emacs-lib-dir* "yasnippets/javascript-mode"
和*my-emacs-lib-dir* "yasnippets/php-mode"
中都有代码段文件。
它适用于php模式,不适用于javascript模式。设置相同,文件正常。可能是什么原因?
答案 0 :(得分:4)
您确定在javascript-mode
中打开了javascript文件吗?查看major-mode
变量(带C-h v
)的值,如果它与javascript-mode
不同,则创建名为此模式的新目录,并添加文件.yas-parents
在这个目录里面。将javascript-mode
放在此文件中,然后保存...
答案 1 :(得分:2)
模式名称为js-mode
,挂钩为js-mode-hook
。