首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在emacs启动时指定自定义的初始化文件?

有没有办法在emacs启动时指定自定义的初始化文件?
EN

Stack Overflow用户
提问于 2013-06-17 19:51:42
回答 2查看 11.4K关注 0票数 27

我试过runemacs --user d:\path\to\init\.emacs,但它提供了

Error (initialization): Invalid user name d:\path\to\init\.emacs

我的意思是自定义文件在自定义位置,如在我的挂盘等,而不是在我的默认位置在用户文件夹。我尝试为不同的配置创建一个cmd文件,其中包含相应的init。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-17 21:43:53

我猜你的最终目标是从你可以随身携带的USB驱动器上运行Emacs。有两种方法可以让Emacs从不同的init文件开始:

(1) -q --加载方式

这只是简单地运行

代码语言:javascript
复制
emacs -q --load path-to-your-init.el

它启动Emacs而不进行任何初始化,然后加载path-to-your-init.el

这种方式的缺陷:在这种情况下,Emacs实际上并不认为el文件是一个init文件,事实上,Emacs根本没有进行初始化,这意味着跳过了以下初始化后步骤:

  • enabling packages,即评估钩子after-init-hook,即评估(run-hooks after-init-hook)

您可能需要在备用init文件中添加初始化后的内容。

此外,如果Emacs使用-q选项启动,则自定义界面不允许保存设置。

(2) the HOME way

使用以下内容创建my-emacs.bat:

代码语言:javascript
复制
set HOME=%~dp0
C:\path-to-your\Emacs\bin\runemacs.exe --xrm "emacs.Background: light green"

当您单击该bat文件时,Emacs将在bat文件所在的位置而不是通常的用户目录中创建名为.emacs.d的文件夹。您可以将自己的init.el放在该.emacs.d文件夹中。使用这个Emacs,计算(find-file "~/.emacs.d/init.el")将打开您自己的可移植init.el,而不是通常用户目录中的初始化文件。您可能想要删除--xrm "emacs.Background: light green"部分,我将其包括在内,因为我总是忘记哪个Emacs是哪个。

陷阱:这个Emacs在它自己的.emacs.d目录中有自己的包目录。这可能是你想要的,也可能不是。如果您想要共享包目录,您可以更改package-user-dir或使用link Shell扩展创建一个指向要共享的包目录的符号链接。

在USB驱动器上运行Emacs时需要考虑的事项:

Emacs将其一些功能外包给外部工具。grep和比较都外包给Grep和diff,所以您的系统上可能至少安装了GnuWin32 Grep和GnuWin32 DiffUtils。拼写检查的一部分外包给aspell,这也是一个单独的安装。加密是外包给GPG,所以Gpg4Win另一个单独的安装。为了让您的便携式Emacs具有所有这些功能,所有这些外部工具也应该在您的USB驱动器上。幸运的是,GnuWin32和aspell是便携友好的。我不知道GPG是不是。如果您设法创建只依赖于eshell自己的grep的lgrep和rgrep版本,那么对外部grep的依赖可能会被消除,但似乎还没有人这样做,所以创建这样的lgrep/rgrep就是大胆地去了以前没有人去过的地方。

票数 37
EN

Stack Overflow用户

发布于 2013-06-17 19:59:56

您可以通过在命令行中输入emacs --help来获取有关所有emacs选项的帮助。该帮助说明--user需要用户名,而不是elisp文件的路径。

要在启动时加载lisp文件,可以使用--load选项:

代码语言:javascript
复制
$ emacs --help
...
--load, -l FILE         load Emacs Lisp FILE using the load function
...

如果您希望阻止加载默认的init文件,可以使用以下选项:

代码语言:javascript
复制
$ emacs --help
...
--no-init-file, -q          load neither ~/.emacs nor default.el
...
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17146844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档