如何在 Windows 平台上安装 Emacs 插件(很多时候是 .el 文件)?
Posted
技术标签:
【中文标题】如何在 Windows 平台上安装 Emacs 插件(很多时候是 .el 文件)?【英文标题】:How to install a Emacs plugin (many times it's a .el file) on Windows platform? 【发布时间】:2011-09-18 00:44:48 【问题描述】:我是 Emacs 新手。我发现许多 emacs 插件都是作为 .el 文件发布的。我不确定如何安装它们。我可以把它们放在我的 emacs 安装目录中吗?
【问题讨论】:
【参考方案1】:放置之后,说myplugin.el
到你的~/.emacs.d/
目录,在你的.emacs
文件中添加以下内容:
(add-to-list 'load-path "~/.emacs.d/")
(load "myplugin.el")
此外,在许多情况下,您需要以下内容而不是第二行:
(require 'myplugin)
在任何情况下,您都应该查阅您尝试安装的软件包的文档,您应该使用哪一个。
如果您不确定您的~
目录在哪里,您可以通过输入C-x d ~/
并按Enter
来查看它。
【讨论】:
他确实在标题中提到了“在 Windows 平台上”...所以你可能想提一下“~”在 Windows 上的位置(如果你知道的话)。 要找出~
的位置,请输入M-: (expand-file-name "~")
。
~/ 对我来说是 Windows 8 上的 C:\Users\如前所述,您需要将文件的位置放在 Emacs 的加载路径中。
阅读文件顶部的 cmets 以查看它是否有任何特定的安装或使用说明。作者经常提供这些信息,而且没有一种正确的方法可以做到这一点,所以看看是明智的。
如果文件包含(provide 'some-name)
行(通常在文件末尾),则如果不这样做,则需要使用(require 'some-name)
来加载它。
您可能还希望对库进行字节编译以提高速度(但这是一个不同的问题)。
【讨论】:
【参考方案3】:很多时候,一个 emacs 插件将包含一个 elisp 文件的目录,这些文件需要从加载路径访问。确保所有单独的 elisp 文件以及 elisp 文件的子目录都包含在加载路径中并且可以访问的一种简单方法是执行类似于以下的操作:
-
创建一个名为 ~/.emacs.d/site-lisp 的目录。
在 ~/.emacs.d/site-lisp 目录中安装任何单个 elisp 文件。
在 ~/.emacs.d/site-lisp 目录下的子目录中安装包含多个 elisp 文件的任何包。
将以下代码添加到您的 ~/.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))
这将确保位于 ~/.emacs.d/site-lisp 目录或该目录下的子目录中的所有 elisp 文件均可访问。
【讨论】:
我发现normal-top-level-add-subdirs-to-load-path
有点激进,因为它详尽地递归了目录树。要仅添加一级目录,您可以这样做:bit.ly/lvRkyk
'site-lisp' 对于特定于用户的目录来说有点奇怪('site-lisp' 通常表示所有用户都可以使用的文件)。我同意在 ~/.emacs.d/ 目录中使用子目录是组织文件的明智之举,因为您以后可能希望在 ~/.emacs 中找到其他非 lisp 文件和目录。 d/ 也是。【参考方案4】:
一些补充信息: 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)
【讨论】:
以上是关于如何在 Windows 平台上安装 Emacs 插件(很多时候是 .el 文件)?的主要内容,如果未能解决你的问题,请参考以下文章
在使用 emacsW32 的 windows 上关闭当前窗口 (x) 时,如何保持 emacs 服务器运行?
windows+vagrant+python+emacs开发环境配置