5

YASnippet をインストールし、次のように構成しました。

(add-to-list 'load-path "~/.emacs.d/plugins/yasnippet-0.6.1c")
(require 'yasnippet) ;; not yasnippet-bundle

(yas--initialize)
(yas/load-directory "~/.emacs.d/packages/yasnippet-0.6.1c/snippets")

ただし、Emacs を起動すると、次のエラーが表示されます。

Warning (initialization): An error occurred while loading `/home/alexander/.emacs':

Symbol's function definition is void: yas--initialize

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace.
(add-to-list 'load-path "~/.emacs.d/plugins/yasnippet-0.6.1c")
(require 'yasnippet) ;; not yasnippet-bundle

(yas--initialize)
(yas/load-directory "~/.emacs.d/packages/yasnippet-0.6.1c/snippets")

私は何を間違っていますか?私は答えを見つけようとしましたが、成功しませんでした。(別のバージョンの yasnippet yasnippet-0.6.1b も試しましたが、同じでした。)

4

2 に答える 2

5

ぱっと見、それは

(yas--initialise)

する必要があります

(yas/initialize)

私は走っていて、パッケージ0.6.1のような機能はありません。yas--initialize

私の初期化コードは次のようになります

(require 'yasnippet)
(yas/initialize)
(yas/load-directory
 (dot-emacs "elpa/yasnippet-0.6.1/snippets"))

どこかで文字化けした初期化コードを取得したと思います。

編集

load-directory要点が外れているので、サンプルでは呼び出しを省略すべきでした。しかし、価値があるのdot-emacsは、initに関連するファイルを参照するために使用する構成にとらわれない関数です。

(defun dot-emacs (relative-path)
  "Return the full path of a file in the user's emacs directory."
  (expand-file-name (concat user-emacs-directory relative-path)))
于 2012-10-31T19:53:31.783 に答える
4

アップグレードする場合の参考までに: 得られた情報は version に対しては正しいものですが0.8、 for以降は正しいものです。このコミットを見る0.7yas/initialize

于 2012-10-31T20:28:51.217 に答える