2011-06-19 10 views

回答

74

将它放置后,说myplugin.el~/.emacs.d/目录,添加以下你.emacs文件:

(add-to-list 'load-path "~/.emacs.d/") 
(load "myplugin.el") 

而且,在很多情况下,你需要,而不是下面第二行:

(require 'myplugin) 

在任何情况下,您应该查阅您正在尝试安装的软件包的文档,您应该使用哪一个。

如果您不确定您的~目录,可以通过键入C-x d ~/并按Enter看到它。

+0

他“在Windows平台”为题做了提...所以你可能想男人其中“〜”在Windows上(如果你知道的话)。 – Nemo

+0

要找出'〜'的位置,请输入'M- :(扩展文件名称〜“)。 – sanityinc

+4

〜/对我来说,在Windows 8上是C:\ Users \ \ AppData \ Roaming \ .emacs.d。 –

2

很多时候,emacs插件将包含一个需要从加载路径访问的elisp文件目录。一个简单的方法,以确保所有个人的elisp文件以及的elisp的文件子目录包含在负载路径和访问是做类似如下的内容:

  1. 创建一个目录名为〜/ .emacs.d /网站口齿不清。
  2. 在〜/ .emacs.d/site-lisp目录中安装任何单个elisp文件。
  3. 在您的〜/ .emacs.d/site-lisp目录下的子目录中安装由多个elisp文件组成的软件包。
  4. 下面的代码添加到您的〜/ .emacs文件,以确保Emacs的“看见”所有已安装的elisp文件:

    (add-to-list 'load-path "~/.emacs.d/site-lisp") 
    (progn (cd "~/.emacs.d/site-lisp") 
         (normal-top-level-add-subdirs-to-load-path)) 
    

这将确保所有的elisp文件,这些文件位于〜/ .emacs.d/site-lisp目录中或位于该目录下的子目录中。

+0

我发现'normal-top-level-add-subdirs-to-load-path'有点激进,因为它详尽地递归了dir树。要添加只有一个级别的目录,你可以这样做:http://bit.ly/lvRkyk – sanityinc

+0

'网站lisp'是一个奇怪的选择用户特定的目录('网站lisp'通常会指示所有用户都可以使用的文件)。我同意在〜/ .emacs.d /目录中使用子目录是组织文件的明智之举,不过,您可能希望在〜/ .emacs中查找其他非lisp文件和目录。 d /也是。 – phils

3

如前所述,您需要将文件的位置放在Emacs的加载路径中。

阅读文件顶部的注释,看它是否有任何特定的安装或使用说明。作者经常提供这些信息,而且没有一个正确的方法可以做到,所以看起来很明智。

如果文件包含(provide 'some-name)行(通常在文件的末尾),那么将会被期望使用(require 'some-name)来加载它。

你也可能希望字库编译库的速度(但这是一个不同的问题)。

0

一些补充信息: MATLAB。EL来自http://matlab-emacs.sourceforge.net/

在Windows上,使用看起来像这样的负载路径:

(add-to-list 'load-path' "C:\\Dropbox\\Portable\\emacs\\matlab-emacs") 

如果需要完整的MATLAB功能,您应该使用:

;;MATLAB Mode: 
(add-to-list 'load-path' "C:\\Dropbox\\Portable\\emacs\\matlab-emacs") 
(require 'matlab-load) 

,如果你只是想编辑文本文件:

;;MATLAB Mode: 
(add-to-list 'load-path' "C:\\Dropbox\\Portable\\emacs\\matlab-emacs") 
(autoload 'matlab-mode "matlab" "Enter MATLAB mode." t) 
(setq auto-mode-alist (cons '("\\.m\\'" . matlab-mode) auto-mode-alist)) 
(autoload 'matlab-shell "matlab" "Interactive MATLAB mode." t)