Plugins 为每个Emacs实例运行特定插件

Plugins 为每个Emacs实例运行特定插件,plugins,emacs,Plugins,Emacs,第一次启动emacs时,是否可能只运行某些插件 假设我使用Python和Ruby进行开发。所以我想让一个emacs实例运行Python插件,另一个运行Ruby插件 我想象的是我可以从命令行调用rb-emacs或py-emacs 所以我认为我的部分解决方案就在这里 http://stackoverflow.com/questions/2112256/emacs-custom-command-line-argument 然后我可以使用自定义开关将emacs调用别名为上面的一个 但是,我如何将一个特

第一次启动emacs时,是否可能只运行某些插件

假设我使用Python和Ruby进行开发。所以我想让一个emacs实例运行Python插件,另一个运行Ruby插件

我想象的是我可以从命令行调用rb-emacs或py-emacs

所以我认为我的部分解决方案就在这里

http://stackoverflow.com/questions/2112256/emacs-custom-command-line-argument
然后我可以使用自定义开关将emacs调用别名为上面的一个

但是,我如何将一个特定的插件与一个特定的开关相关联呢? 我做得对吗?还是我应该完全做别的事情

编辑: 由于我的问题似乎不清楚,我将在这里重申。我不担心装载时间太长。我担心插件之间的潜在冲突。我以前使用过emacs,但只在基本范围内使用过。现在我想更深入地讨论插件。虽然我不完全理解插件是如何工作的


假设我有一个插件(或两个或三个,我不知道它可能有多少)为每一种语言我的代码。这些不会互相冲突吗?另外,我不想要那种特定语言不需要的视图/窗口。

对于每个Emacs实例,您只需要一个不同的init文件。然后,您可以创建shell别名,用这些init文件打开Emacs

从:

使用特定的init文件启动Emacs:
Emacs-q-l~/my init file.el

然后您只需设置一个shell别名,如:

alias rb-emacs=emacs -q -l ~/.rb-emacs-init.el
但为什么要使用单独的Emacs进程来实现这一点呢?如果您担心启动时间,可以使用延迟加载程序包或EmacClient。

我投票赞成“完全做其他事情”,但我不能100%确定您试图解决的问题是什么

通常,您可以使用模式挂钩、
eval after load
autoload
来确保仅在需要时加载特定的elisp库

如果您的问题是强制加载所有内容,并且加载时间太长,那么您需要更改代码,以便只在必要时加载内容。看

如果您的问题是为需要为不同项目具有不同值的变量设置全局值,那么您希望通过模式挂钩或使用目录局部变量为它们使用缓冲区局部值


您想解决的问题是什么?

我不担心启动时间。我只是不想一个插件与另一个冲突。虽然现在我想起来了,插件的调用是否取决于文件类型?或者如何工作?是的,您可以根据文件扩展名设置加载哪些包。我强烈推荐使用它,它通常会自动地以一种理智的方式进行设置。您可以使用el get on查看我的Emacs设置。在Emacs中,任何事情都是可能的,但一般来说(即给定合理编写的库),用于处理互斥任务的库之间没有冲突(例如编辑ruby代码与编辑python代码)。我认为你想象的是不存在的问题。但是,即使你决定为每个项目运行单独的Emacs实例(这不是一件不合理的事情),通常也不需要维护单独的配置。您可以使用相同的配置启动每个Emacs实例,并让每个实例为您加载的文件执行适当的操作。