我多年来一直是vim用户,最近开始试用emacs.这个编辑器有很多可用的组件,比如邮件客户端,IRC客户端等.所有这些组件都需要一个包管理器来更新它们,并且通常可以更容易地处理它们.
在vim上有很多插件管理器(如Vundle或病原体),不同的人使用不同的东西.
另一方面,emacs包含package.el
最新版本(这是很好的开始),但也有,el-get
并且package.el
包列表非常短.
我应该坚持package.el
(并可能用橘子酱扩展包装清单)?或者我需要el-get
理智的包管理?
如果您使用最新的Emacs版本,请继续使用package.el
.并添加MELPA到存储库列表.
而且,并非所有"包"(或库)都需要包管理器来更新它们并且通常更容易处理它们. 有一个有用的Emacs Lisp代码世界没有"打包"并上传到package.el
存储库.
更重要的是,无论您是否使用package.el
检索和"安装"包,您都应该学习加载,字节编译和使用Emacs Lisp代码的基础知识.不要package.el
盲目地使用,不要理解有关Lisp代码的东西.
手动"安装"Lisp代码的基础知识包括:
通常,您需要对所使用的库进行字节编译,以获得更好的性能.请记住这个警告,如果你这样做:
1A.加载任何定义您使用的任何其他Lisp库所需的Lisp 宏的源文件(*.el
).
1B.然后是字节编译(宏定义库和)使用宏定义库的库. 这个很重要. 很可能最新版本的宏使用库需要最新版本的宏,如果你在没有首先加载最新宏定义的情况下编译它们,那么你就会遇到麻烦.
将您使用的任何库放在您的目录中load-path
.换句话说:将load-path
init file(~/.emacs
)中的变量设置为包含所有包含您使用的Lisp代码的目录的值.
通常,您希望(require 'foo)
在自己的代码中使用(例如在您的init文件中)来加载库foo
.
但是,#3仅在库foo
(文件foo.el
)实际提供功能时才有效foo
:(provide 'foo)
.如果没有,您可以(load-library "foo")
改用.
(注意使用'foo
和之间的区别"foo"
:第一个是指功能foo
;第二个是指文件foo.el
和foo.elc
.
最后,在您尝试使用库之前,请帮个忙,看一下Commentary
文件头的部分.它通常会告诉您有关使用库的重要信息.即使它没有说出非常重要的东西,也可能会说一些有用的东西(例如一两个小提示).
我提到1-5是因为我看到太多(不,不是很多,但是太多)新用户只是使用包管理器"安装"东西而从未看过他们正在安装的代码是什么:它是什么for,如何使用它等等.如果有什么东西在那里Commentary
读它; 图书馆作者把它放在那里帮助你.
除此之外,玩得开心!