Emacs 安装油嘴

Emacs 安装油嘴,emacs,debian,yasnippet,Emacs,Debian,Yasnippet,我已安装YASnippet并使用以下配置: (添加到列表“加载路径”~/.emacs.d/plugins/yasnippet-0.6.1c) (要求“yasnippet”);;不是日本包 (yas——初始化) (yas/load目录“~/.emacs.d/packages/yasnippet-0.6.1c/snippets”) 但是,当我启动Emacs时,它会给我一个错误: Warning (initialization): An error occurred while loading `/

我已安装YASnippet并使用以下配置:

(添加到列表“加载路径”~/.emacs.d/plugins/yasnippet-0.6.1c)
(要求“yasnippet”);;不是日本包
(yas——初始化)
(yas/load目录“~/.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,但都是一样的。)

一眼就能看出

(yas--initialise)
应该是

(yas/initialize)
我正在运行
0.6.1
,包中没有像
yas——initialize
这样的函数

我的init代码看起来像

(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)))

供您升级时参考:您获得的信息对于版本
0.8
是正确的,但是对于
0.7
及以下版本
yas/initialize
是正确的。
参见

现在它说“Symbol的函数定义无效:dot emacs”@axelader先生,我忽略了提到
dot emacs
是我的自定义函数。您拥有的
yas/load目录
代码应该可以。很抱歉造成混淆。回答得很好(感谢您提供的dot-emacs,作为noob,它成为my.emacs;-)的新添加内容!)@很高兴听到这个消息:)虽然现在事情更简单了。如果您通过包管理器(
M-x list packages
)获得
yasnippet
,并将代码段保存在
~/.emacs.d/snippets
下(默认情况下包括该代码段),则无需特殊配置。我在init中做的唯一一件事就是
(yas全局模式)
@harpo:谢谢你的提示!实际上,我已经使用了包管理器(几周前发现了它,因为我在yasnippet和autocomplete方面遇到了问题。实际上,我仍然使用;D),但由于我自己不知道的原因,我想在.emacs.D/my-snippets中安装我的代码片段,我来到这里(为了记录,唯一有效的方法是使用
(yas/compile directory(dot emacs“my snippets”)
在包含目录之前…。无论如何,感谢您的帮助(我对emacs了解得越多,它就越震撼;-)!是的,这让我有一段时间被证实了。我从YAS站点获得了init.el代码,该代码说我应该使用(YAS/initialize),但这不起作用,并生成了错误符号的函数定义为void:YAS/initialize。我决定在init.el中尝试一下(yas--initialize),这对我很有用。